在java中开发图像编辑器

1 java swing image editor

我正在尝试用Java开发一个图像编辑器.我的图像编辑器的Java图像实现的一部分是加载图像并绘制一些形状,除了执行旋转,缩放等.

我正在使用JLabel加载图像,但有没有办法使用JLabel在图像上绘制和应用变换?我在网上找到的所有例子都使用了JPanel.

shu*_*why 5

你真的需要看看Java2D turorial.您应该打开图像Graphics2D并旋转和缩放图像Graphics2D.

不要使用JLabel,因为

  • 组件太重(虽然JLabel重量很轻).您可以向JLabel添加图标,但在大多数情况下,他们更喜欢被解决而不是经常和任意地更改,并且对组件的操作涉及对其进行高频率和任意更改.

  • 如果添加大量组件,也会降低效率.(每个组件都会将自己绘制在Graphics属于它的单独对象中,并且其容器将全部绘制它们,并且布局也很重要.)

  • 另一个缺点是,有时甚至不可能对组件或一对组件进行一些操作甚至不可能.例如,如果要添加两张图片并将其分组,该怎么办?你需要2 JLabel秒,1 JPanel(也许).那么如果你想在这两个图像上画一条线并再次分组呢?

以下是基本步骤:

  1. 覆盖paintpaintComponent组件的方法;
  2. 演员Graphics实例Graphics2D;
  3. 设置一些渲染属性Graphics2D;
  4. 设置变换(旋转,缩放等)Graphics2D;
  5. 画图像 Graphics2D

有太多的介入类,如Graphics2D,AffineTransform,RenderingHints,BufferedImage,Shape,等等,甚至更多的方法.我无法在这里描述一切.看看教程.它为您提供了API的概述,并告诉您如何执行这些操作.