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

Java 将图像调整为任何给定的四边形,java,image,graphics,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, (in

我有一个可以在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=)更具体一点。

你必须变换图像,你可以剪切、旋转、平移图像

要做到这一点,你需要一个转换图像

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

另见关于以下问题的提问:

顺便说一句:很好的工作,有做它在纯java

很抱歉,当我只在发送链接时才作出响应,但也许您可以对您的ptoblem=)更具体一些。

谢谢:),我将尝试使用仿射矩阵。用纯java做这件事要有趣得多,不是吗感谢激励我:)我甚至无法想象停止编码。谢谢:),我将尝试使用仿射矩阵。用纯java做这件事要有趣得多,不是吗感谢激励我:)我甚至无法想象停止编码。