java - 图像点数组

标签 java canvas drawing2d

我一直在尝试转换代表从手机获取的绘图(简单的 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/

相关文章:

.net - 将绘制的图像修改为圆角矩形

java - 尝试绘制两个数字并距中心距离相等

javascript - 如何为多个 Canvas 图像填充颜色?

java - 在Android中绘制大位图

Javascript 和 Canvas : How to get rid of that Moiré effect in my gyroscope

java - 在使用 Streams API 时使用 Chronicle Map 产生垃圾

C# GDI - 如何创建多边形(点集)的位图副本

java - hapi - 该元素既没有附加源代码,也没有附加 Javadoc,因此找不到 Javadoc

java - Libgdx - 基本着色器不工作

java - 如果没有配置交易会出现异常吗?