【发布时间】:2011-08-02 16:32:49
【问题描述】:
我正在创建一个需要翻转图像的瓷砖游戏。使用我拥有的代码会产生此错误:
Exception in thread "main" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
从这一行开始:
Image newImage = gc.createCompatibleImage(
image.getWidth(null),
image.getHeight(null),
Transparency.BITMASK);
这是我的编码:
public Image getMirrorImage(Image image) {
return getScaledImage(image, -1, 1);
}
private Image getScaledImage(Image image, float x, float y) {
// set up the transform
AffineTransform transform = new AffineTransform();
transform.scale(x, y);
transform.translate(
(x-1) * image.getWidth(null) / 2,
(y-1) * image.getHeight(null) / 2);
// create a transparent (not translucent) image
Image newImage = gc.createCompatibleImage(
image.getWidth(null),
image.getHeight(null),
Transparency.BITMASK);
// draw the transformed image
Graphics2D g = (Graphics2D)newImage.getGraphics();
g.drawImage(image, transform, null);
g.dispose();
return newImage;
}
谁能向我解释我可能需要做哪些不同的事情或如何让它发挥作用?非常感谢
【问题讨论】:
-
尝试将比例乘以 -1 而不是设置为 -1。
-
如需尽快获得更好的帮助,请发帖SSCCE。
标签: java image graphics transform flip