6

亚历克斯解释了我正在寻找的东西比我有的要好得多:

您需要一个现有的程序,该程序允许您绘制图片,捕捉您在绘制时所做的事情,并将每个动作编写为 Java 命令。当您单击“Drawl Oval”工具并单击 0,0 和 50,50 时,它会生成线 g.drawOval(0,0,50,50)。

如果有人知道这样的程序,请告诉我。谢谢。


原始问题:

我最近一直在使用 java.awt.Graphics 库处理 Java 和自定义绘图,但发现手动编写花费了太多时间。是否有任何生成源代码的简单图形编辑器(如 mspaint)?

例子:

画这个: 替代文字

会产生:

public void update(Graphics g) {
    g.translate(0, 0);
    g.drawOval(0, 0, 50, 50);
}

谢谢。

4

3 回答 3

14

如果它们是矢量,您可以使用 SVG 编辑器(例如 Inkscape)以及Kirill 的 SVG 到 Java2D转码器来简化它。它并不完美,但基里尔在响应增强请求方面非常敏感。

于 2009-07-13T16:25:06.620 回答
3

目前还不清楚你在问什么。两种猜测:

  1. 您需要一个现有的程序,该程序允许您绘制图片,捕捉您在绘制时所做的事情,并将每个动作编写为 Java 命令。当您单击“绘制椭圆”工具并单击 0,0 和 50,50 时,它会生成线条g.drawOval(0,0,50,50)

    我不知道有任何这样的工具。但以上内容可能会帮助您改写您的问题,以便其他人可以分享他们的知识。

  2. 您需要一个程序,它采用现有位图并将其转换为一系列复制位图的命令。除了简单地输出像素之外,这样的工具几乎是不可能编写的;尝试将任意图片分解为简单的绘图命令非常困难。

    在这种情况下,我建议将位图简单地导入为 JPG、PNG 等格式,并使用 drawImage() 而不是使用 Graphics 调用。

于 2009-07-27T19:20:51.750 回答
0

虽然不是您想要的,但我应该提到 XPM(X Pixmap)格式基本上是 C 编程语言的一个子集。XPM2 通过删除 C 语法的陷阱来进一步简化它。XPM3 再次将它们带回来。

从某种意义上说,XPM 图像转换器是源代码生成器和翻译器。您正在寻找类似于输出 Java AWT 的东西,但是对于许多真实图像或照片,对图像进行分析以找到椭圆等并创建用线条和形状绘制它们的代码会很复杂(除非图像有应用过滤器来简化它,或者是有人指出的SVG)。它可能必须转换为某种形式的位图,并将其保存在生成​​的 Java 源代码中的数组中。

于 2009-07-25T18:48:36.190 回答