是否有用于编写绘图程序的Java库?

Alc*_*sta 12 java user-interface drawing

我需要编写一个简单的Java GUI应用程序,基本上允许用户在CT肺部图像中标记区域.

为了使标记过程更容易,重要的是程序提供一些类似于绘制程序的基本工具/功能,如MS Paint,例如,撤消/重做,标记(画笔)宽度和区域填充.

是否有任何Java库提供编写绘图程序的组件?

Fav*_*ius 10

我建议你看一下ImageJ.最大的优点是它在医疗领域的根源,它可以通过自定义插件进行扩展.以下部分取自ImageJ维基百科条目.

ImageJ是一个公共领域,基于Java的图像处理程序,由美国国立卫生研究院开发.ImageJ采用开放式架构设计,通过Java插件和可记录宏提供可扩展性.

如果您没有找到符合您需求的功能,那么您可以编写自己的插件.

用户编写的插件可以解决许多图像处理和分析问题,从三维活细胞成像到放射图像处理,多个成像系统数据与自动血液系统的比较.

我可以预见的唯一问题是你必须提供额外的东西以及你想要实现的功能.

如果你想避免上述问题,那么看看@Zack的答案.除此之外,看看这些:

  1. 使用堆栈填充洪水
  2. 使用Swing为您的Java应用程序添加撤消/重做功能
  3. Java 2D示例 - Java2s


Oll*_*ass 7

处理允许您绘制形状,设置线条粗细和颜色,显示图像以及在Java中执行许多其他绘图功能.它可以用作Java库并集成到Swing应用程序中.

这是一些示例处理代码:

void setup() {
  size(400, 400);  // set window size to 400 x 400 pixels
  PImage lungImg = loadImage("http://i.stack.imgur.com/gwyp0.jpg");
  image(lungImg, 0, 0);
}

void draw() {
}

void mousePressed() {
  noFill();          // no fill color for the circle
  stroke(255, 0, 0); // set pen color to red
  strokeWeight(5);   // set line thickness to 5 pixels

  // draw ellipse at mouse position, 50 pixels height & width (i.e. a circle)
  ellipse(mouseX, mouseY, 50, 50); 
}
Run Code Online (Sandbox Code Playgroud)

这将在Processing IDE中自行运行,这也会增加一些语法糖.它是真正的Java; 上面代码中的方法可以在PApplet类中找到.

单击放置一个红色圆圈.这是最终的应用程序:

在此输入图像描述