我有一个想要在角落里裁剪的图像。 例如
我想剪掉数独谜题。我有角(x1,y1),(x2,y2),(x3,y3),(x4,y4)。
试过这个:
javaxt.io.Image image = new javaxt.io.Image(bufferedImage);
image.setCorners((float) pointTopLeft.getX(), (float) pointTopLeft.getY(), //UL
(float) pointTopRight.getX(), (float) pointTopRight.getY(), //UR
(float) pointBottomRight.getX(), (float) pointBottomRight.getY(), //LR
(float) pointBottomLeft.getX(), (float) pointBottomLeft.getY()); //LL
但它返回的结果是这(这不是我想要的):
答案 0 :(得分:2)
您可以首先通过移动底角和右上角来扭曲图像 - 这将导致更加矩形的形状。然后你可以裁剪图像。
我试过这个:
Image image = new javaxt.io.Image(bufferedImage);
// skew image
image.setCorners(
// keep the upper left corner as it is
0,0, // UL
// push the upper right corner more to the bottom
image.getWidth(),20, // UR
// push the lower right corner more to the left
image.getWidth()-45,image.getHeight(), // LR
// push the lower left corner more to the right
55,image.getHeight()); // LL
// crop image
image.crop(80, 105, image.getWidth()-150, image.getHeight()-105);
结果如下:
希望这有帮助。
答案 1 :(得分:0)
您应该使用方法image.getSubImage(x1,y1,x2,y2)
以便裁剪。在此之后,您可以将其倾斜到正确的数量。