我一直在尝试转换代表从手机获取的绘图(简单的 2D 黑线)的点数组。我将该点数组传递给服务器,然后服务器将该绘图通过电子邮件发送给另一个人。
我找不到将该点数组转换为图像、png 或其他内容的方法。然后将其上传到静态服务器,以便我可以将其插入电子邮件中并发送给其他人。
我正在寻找类似 android 上的 Canvas 但在服务器端的东西,这样我就可以输出图像。最好是 Java,但此时我什么都愿意。
点数组的一个例子:
{
"drawing_objects": [
[
{
"x": 177,
"y": 246
},
{
"x": 177,
"y": 246
},
{
"x": 177,
"y": 246
}
],
[
{
"x": 870,
"y": 298
},
{
"x": 866.5316,
"y": 302.62445
}
]
]
}
这是绘图中的两条线,第一条有 3 个点,第二条有 2 个点。
最佳答案
如果您使用基于 Java 的服务器,那么您可以创建一个 Graphics2D,绘制点,然后将其导出为 PNG 或您想要的任何内容。
import javax.imageio.ImageIO;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
//…
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D ig2 = bi.createGraphics();
//Draw some lines to the graphic
ig2.drawLine(x1,y1,x2,y2);
ig2.drawLine(x2,y2,x3,y3);
//...
//Export the result to a file
ImageIO.write(bi, "PNG", new File(“c:\\name.png”));
关于java - 图像点数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941202/