我有一个可以在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 =)