将图像调整为任何给定的四边形



我有一个可以在x,y和z方向上旋转的立方体。我想出了如何绘制它的线框以及如何用每边一种颜色填充侧面。但是我尝试为立方体制作纹理的尝试失败了。我发现将图像调整为非立方体形状的所有可能性都使用外部库,但我想用纯 java 来完成。

这是我尝试过的:

  Polygon polygon = new Polygon();
    polygon.addPoint((int)p[1][x]+200, (int)p[1][y]+200);
    polygon.addPoint((int)p[2][x]+200, (int)p[2][y]+200);
    polygon.addPoint((int)p[6][x]+200, (int)p[6][y]+200);
    polygon.addPoint((int)p[5][x]+200, (int)p[5][y]+200);
    g.setClip(polygon);
    g.drawImage(tex, (int)p[1][x]+200, (int)p[1][y]+200, null);
    g.setClip(new Rectangle(0, 0, this.getWidth(), this.getHeight()));
你必须

转换图像,你可以在你的图像上剪切、旋转、平移等......

为此,您需要一个仿射矩阵来转换图像...

一旦你知道如何使用矩阵,你也可以用它来转换你的点,这是一种非常舒适的方式

另请参阅有关如何切变位图的问题:

顺便说一句:干得不错,用纯Java做!

抱歉,当我只在发送链接时做出回应时,但也许您可以更具体地了解您的ptoblem =)

相关内容

  • 没有找到相关文章

最新更新