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

时间:2016-03-22 17:42:42

标签: java image graphics

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

1 个答案:

答案 0 :(得分:0)

你必须转换图像,你可以剪切,旋转,翻译等图像......

要这样做,您需要Affine-matrix来转换图像......

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

另请参阅how to shear a bitmap上的问题:

顺便说一句:干得好的工作,在纯java中做到了!

抱歉,当我只是在发送链接时回复,但也许你可以对你的ptoblem更具体一点=)