2009-07-13 67 views
6

亚历克斯解释什么,我正在寻找更好的比我:将图像输出为源代码的Java图像编辑器?

你想现有的程序, 允许你画一幅画,捕捉 你做什么,你画,并写 每个动作作为Java命令。当 您点击“Drawl Oval”工具并点击 点击0,0然后在50,50处,它会生成 行gl.drawOval(0,0,50,50)。

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


原题:

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

实施例:

绘制此: alt text

将产生:

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

感谢。

+0

我不明白你的例子。您的图形以直角显示具有两个切线的圆形,但您希望该图形生成用于绘制矩形的命令。怎么来的? – 2009-07-23 22:14:07

回答

14

如果它们是矢量,您可以使用SVG编辑器(例如Inkscape)以及Kirill's SVG to Java2D代码转换器来简化此操作。这并不完美,但基里尔在回应改进要求方面非常迅速。

0

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

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

3

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

  1. 你要对现有的程序,可以让你画一幅画,捕捉你做什么,你画,写每一个动作作为一个Java命令。当你点击“Drawl Oval”工具并点击0,0然后点击50,50时,它会生成g.drawOval(0,0,50,50)这一行。

    我不知道任何这样的工具。但是,上述可能会帮助你重新回答你的问题,以便其他人可以分享他们的知识。

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

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