在java中如何旋转image?
看网上是使用Graphic2D中的rotate,但是我发现这个东西旋转了整个坐标系呢下面我详细讲一下情况我是用applet作游戏在repaint刷新游戏画面的时候为了防止...
看网上是使用Graphic2D中的rotate ,但是我发现这个东西旋转了整个坐标系呢
下面我详细讲一下情况
我是用applet作游戏
在repaint刷新游戏画面的时候为了防止闪烁,重写了update()方法
使update()方法只是调用paint()而不是直接清屏。
然后在update里面建了一个与画面等大的image,把image传个一个Graphics或Graphics2D
在这种情况下,把需要画的东西画在这个image上面,最后在绘制在主画面上
这时呢,如果我转动Graphic2D发现我用System.out.println(x,y)查看坐标的时候发现坐标不会转动,这是怎么一回事呢?就是坐标中不变的量还是不变,改变的还是变
比如我更新坐标是这么写的 draw(x++,y)
这样本来是x不断在加,y不变
使用了rotate后,我发现x,y的变化还是如上,这说明根本就没有选择呢
推测是rotate旋转了整个坐标系啊
那么如何解决我想在此基础上旋转iamge的问题呢? 展开
下面我详细讲一下情况
我是用applet作游戏
在repaint刷新游戏画面的时候为了防止闪烁,重写了update()方法
使update()方法只是调用paint()而不是直接清屏。
然后在update里面建了一个与画面等大的image,把image传个一个Graphics或Graphics2D
在这种情况下,把需要画的东西画在这个image上面,最后在绘制在主画面上
这时呢,如果我转动Graphic2D发现我用System.out.println(x,y)查看坐标的时候发现坐标不会转动,这是怎么一回事呢?就是坐标中不变的量还是不变,改变的还是变
比如我更新坐标是这么写的 draw(x++,y)
这样本来是x不断在加,y不变
使用了rotate后,我发现x,y的变化还是如上,这说明根本就没有选择呢
推测是rotate旋转了整个坐标系啊
那么如何解决我想在此基础上旋转iamge的问题呢? 展开
2个回答
2011-09-23
展开全部
javax.imageio.ImageIO
public static boolean write(RenderedImage im,
String formatName,
File output)
throws IOException
使用支持给定格式的任意 ImageWriter 将一个图像写入 File。如果已经有一个 File 存在,则丢弃其内容。
参数:
im - 要写入的 RenderedImage。
formatName - 包含格式的非正式名称的 String。
output - 将在其中写入数据的 File。
返回:
如果没有找到合适的 writer,则返回 false。
抛出:
IllegalArgumentException - 如果任何参数为 null。
IOException - 如果在写入过程中发生错误。
即可
public static boolean write(RenderedImage im,
String formatName,
File output)
throws IOException
使用支持给定格式的任意 ImageWriter 将一个图像写入 File。如果已经有一个 File 存在,则丢弃其内容。
参数:
im - 要写入的 RenderedImage。
formatName - 包含格式的非正式名称的 String。
output - 将在其中写入数据的 File。
返回:
如果没有找到合适的 writer,则返回 false。
抛出:
IllegalArgumentException - 如果任何参数为 null。
IOException - 如果在写入过程中发生错误。
即可
追问
请问这个方法是解决了那个方面的问题。。。。。= =|||||
小白我不太明白。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询