Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从数组创建图像文件_Python_C_Image_Bitmap_Tiff - Fatal编程技术网

Python 从数组创建图像文件

Python 从数组创建图像文件,python,c,image,bitmap,tiff,Python,C,Image,Bitmap,Tiff,从本质上说,我的问题只是找到一种从数组创建图像文件的简单方法 我的问题是将CUPS光栅文件解析为图像。CUPS RGB光栅文件头为1800字节。如果我输入宽度和高度,我可以将文件中包含的光栅阵列以Mac顺序正确读取到Photoshop中,并使用交错16位数据00RRGGBB。我已经写了一个实用程序,从标题中提取宽度和高度 我想编写另一个命令行实用程序,它将宽度、高度和文件名作为输入,截断光栅文件的前1800个字节,并创建Tiff或BMP或任何最容易写入的图像,其余的都包含在数组中—任何已知的图像

从本质上说,我的问题只是找到一种从数组创建图像文件的简单方法

我的问题是将CUPS光栅文件解析为图像。CUPS RGB光栅文件头为1800字节。如果我输入宽度和高度,我可以将文件中包含的光栅阵列以Mac顺序正确读取到Photoshop中,并使用交错16位数据00RRGGBB。我已经写了一个实用程序,从标题中提取宽度和高度

我想编写另一个命令行实用程序,它将宽度、高度和文件名作为输入,截断光栅文件的前1800个字节,并创建Tiff或BMP或任何最容易写入的图像,其余的都包含在数组中—任何已知的图像格式都可以


程序应该是C或Python,在Mac、Linux下运行

对于Python,是执行此任务的工具。使用图像对象上的(搜索putdata链接)方法将列表中的像素放入图像。

您可以尝试,它支持多种图像格式。您可以使用RasterIO(…)方法读取图像数据。

您的输入大小是32位,而不是16位。。。众所周知,您可以直接写出其标题(使用正确的W、H和行跨度值)。然后按ABGR顺序复制数据,最后一行在前。如果alpha始终为0,则可以使用24位BMP,但还需要考虑行填充,这可能会很麻烦。哦,等等,你的意思是每个组件都有16位宽。如果是这样,您是否希望/需要保存此文件?BMP仅为8位/组件。是的,每种颜色为16位。所以00RRGGBB是一个32位字。我已经编写了一个文件解析器,它获取W和H,然后逐字(实际上是逐行)读取数组,所以我的问题是将其作为文件写入。我强烈希望在16位(无数据丢失)中完成,但这不是必须的。文件大约是80MB(一页一个位图)。哎哟。4x16位=8字节/像素