java - 用Java将图像数据保存在 "PNG"文件中

标签 java hex data-conversion

以 base64 显示图像相当简单:

<img src="data:image/png;base64,hexadecimal-code-for-image-here">

但是,我想做的是转换收到的十六进制值并将其保存在 png 文件中,以便我从代码中获得所需的图片。

例如:假设我有以下代码:

iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QAAAAAAAD5
Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wEVDTYmJtINnAAAAcRJ
REFUOMuVlL9rU1EUx7/n3psmL6VoWqoJpNgI0Vg6uXSw0E0QHBzsUJDSoSKCuLro
KIL0D3Dr2N0gOHUpdWgrLW0EW5osakNT+4Oo7+X13XuPi4L2SZ73jGf43O/hfM4l
nKnC9TtZmStfIwKFn5bXW9vvDBxKnG2YdP7BzOzDtanp+6uBGLwFx1LxF7RtHvmI
tIaUsK7AWEJW6UgbC2MYxtjQFUijky/Hy5WROQIgBbgT6nyuUBo2hvGtVf8oVPrE
GCbDwM6Hjce71WcrXUfuv1C8lC9eHiMwlCCcGgs/1CBiFEuVShhZBKcGHQ309H0e
AtAd+PXwkFa36shkPCglIaXEcOE8jABqjQMQgEhrdAIfZCNKHFmlsr3C6yuzjaCD
tr56++m9GzfvPgEDr+efPzquVZco5QkhFcJ2cxuMoGtCHfk/EPkbvxsD+dJejyIA
jMzFkYZ+v7CJ8Pt/exrbMhFoaCCNYn8G2gpy9TTm4cF+U7xZ+QIAyHKbXD2NARtv
X7w6rk8sghmtrWrN1dPErbl6qpKArp4mAl09TRzZ1dPEhK6eKuff5JenzPinp87A
JE/JFZjyznm58sSVPzz96/R+AmVHLPIJpOvnAAAAAElFTkSuQmCC

有什么办法可以将这段代码转换为图像,然后存储在 JAVA 中的 png 文件中吗?

最佳答案

将base64转换为字节数组,然后将其写入png文件。

byte[] img = Base64.getDecoder().decode(imgBase64);
Files.write(Paths.get("my.png"), img); //As suggested by Joop Eggen 

关于java - 用Java将图像数据保存在 "PNG"文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53759036/

相关文章:

java - 鼠标定位和图形绘制

ios - 如何将文本字符串转换为十六进制字符串?

python - 将文件转换为字典

c - 如何将 8 字节十六进制枚举值添加到 unsigned char 指针?

perl - 如何将带有重音符号、变音符号等的字母转换为 Perl 中的 ASCII 对应字母?

assembly - .fill .long 在汇编中意味着多少字节?

java - 我可以使用 Mapstruct 创建 Java 对象/实体的 DeepCopy 吗?

java - 如何在java类中访问kotlin pojo

java - Android Studio - 无法识别的 VM 选项 'MaxPermSize=256m'

c - 如何在C中递增/递减十六进制值