如何从多维数组(或矩阵)生成图像

时间:2021-04-09 21:30:42

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