Java图像编辑器将输出呈现为源代码?

时间:2009-07-13 16:13:54

标签: java graphics code-generation image-editor

亚历克斯解释了我所寻找的比我更好的东西:

  

你想要一个现有的程序   允许您绘制图片,捕获   你在绘画时写的是什么   每个动作都是Java命令。什么时候   你单击“Drawl椭圆”工具和   点击0,0然后点击50,50   会产生这条线   g.drawOval(0,0,50,50)。

如果有人知道这样的节目,请告诉我。感谢。


原始问题:

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

示例:

画出这个: alt text

会生成:

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

感谢。

3 个答案:

答案 0 :(得分:14)

如果它们是向量,您可以使用SVG编辑器(例如,Inkscape)和Kirill's SVG to Java2D Transcoder来简化此操作。这并不完美,但Kirill在回应增强请求时非常敏感。

答案 1 :(得分:3)

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

  1. 您需要一个现有程序,它允许您绘制图片,捕获您在绘制时执行的操作,并将每个操作写为Java命令。当您单击“Drawl Oval”工具并单击0,0然后单击50,50时,它将生成行g.drawOval(0,0,50,50)

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

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

    在这种情况下,我建议只需将位图导入为JPG,PNG等等,并使用drawImage()而不是使用Graphics调用。

答案 2 :(得分:0)

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

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