我正在尝试用Java开发一个图像编辑器.我的图像编辑器的Java图像实现的一部分是加载图像并绘制一些形状,除了执行旋转,缩放等.
我正在使用JLabel加载图像,但有没有办法使用JLabel在图像上绘制和应用变换?我在网上找到的所有例子都使用了JPanel.
你真的需要看看Java2D turorial.您应该打开图像Graphics2D并旋转和缩放图像Graphics2D.
不要使用JLabel,因为
组件太重(虽然JLabel重量很轻).您可以向JLabel添加图标,但在大多数情况下,他们更喜欢被解决而不是经常和任意地更改,并且对组件的操作涉及对其进行高频率和任意更改.
如果添加大量组件,也会降低效率.(每个组件都会将自己绘制在Graphics属于它的单独对象中,并且其容器将全部绘制它们,并且布局也很重要.)
另一个缺点是,有时甚至不可能对组件或一对组件进行一些操作甚至不可能.例如,如果要添加两张图片并将其分组,该怎么办?你需要2 JLabel秒,1 JPanel(也许).那么如果你想在这两个图像上画一条线并再次分组呢?
以下是基本步骤:
paint或paintComponent组件的方法;Graphics实例Graphics2D;Graphics2D;Graphics2D;Graphics2D有太多的介入类,如Graphics2D,AffineTransform,RenderingHints,BufferedImage,Shape,等等,甚至更多的方法.我无法在这里描述一切.看看教程.它为您提供了API的概述,并告诉您如何执行这些操作.
| 归档时间: |
|
| 查看次数: |
5879 次 |
| 最近记录: |