Is there a way to convert a 3-dimensional array (or matrix) into an RGB image in PHP? Assuming I have a 3D array (width * height * color) of 1000*250*3, how can I convert it into a png image? Maybe the function imagesetpixel()
can do the work in a loop. But an efficient way might help to improve response time.
有没有一种方法可以将三维数组(或矩阵)转换成PHP中的RGB图像?假设我有一个1000*250*3的3D数组(宽度*高度*颜色),如何将它转换成png图像?也许函数imagesetpixel()可以在循环中完成这项工作。但是有效的方法可能有助于提高响应时间。
1 个解决方案
#1
0
Write the data raw into a binary file, then use ImageMagick to convert it to any file format this supports.
将原始数据写入二进制文件中,然后使用ImageMagick将其转换为支持的任何文件格式。
From Supported Image Formats:
从图像格式支持:
Raw: red, green, and blue samples. Use
-size
and-depth
to specify the image width, height, and depth.生:红色,绿色和蓝色的样品。使用-size和-depth来指定图像的宽度、高度和深度。
which suggests a command line such as
它建议使用命令行,比如
convert your_data_file -colorspace RGB -size 1000x250 efficient_output.png
#1
0
Write the data raw into a binary file, then use ImageMagick to convert it to any file format this supports.
将原始数据写入二进制文件中,然后使用ImageMagick将其转换为支持的任何文件格式。
From Supported Image Formats:
从图像格式支持:
Raw: red, green, and blue samples. Use
-size
and-depth
to specify the image width, height, and depth.生:红色,绿色和蓝色的样品。使用-size和-depth来指定图像的宽度、高度和深度。
which suggests a command line such as
它建议使用命令行,比如
convert your_data_file -colorspace RGB -size 1000x250 efficient_output.png