Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
BMP字节数组到BMP图像php_Php_Image_Bmp - Fatal编程技术网

BMP字节数组到BMP图像php

BMP字节数组到BMP图像php,php,image,bmp,Php,Image,Bmp,只是想知道是否有人知道如何将bmp字节数组转换为实际图像 图像提取: 424d 4284 0300 0000 0000 4200 0000 2800 0000 4001 0000 f000 0000 0100 1800 0300 这不适用于bmp(其中数据是表示图像的输入字符串) 谢谢 在这方面,imagecreatefromstring()或PHP的GD似乎不支持BMP[1] 它似乎支持WBMP,而不是BMP。[2] 此外,imagecreatefromstring()希望接收整个文件,而不

只是想知道是否有人知道如何将bmp字节数组转换为实际图像

图像提取:

424d 4284 0300 0000 0000 4200 0000 2800
0000 4001 0000 f000 0000 0100 1800 0300
这不适用于bmp(其中数据是表示图像的输入字符串)


谢谢

在这方面,imagecreatefromstring()或PHP的GD似乎不支持BMP[1]

它似乎支持WBMP,而不是BMP。[2]

此外,imagecreatefromstring()希望接收整个文件,而不仅仅是您可能拥有的任何选定像素的“提取”。如果它接受原始像素数据(忘记了诸如颜色格式、位计数等问题),您仍然需要至少为GD的imagecreatefromstring()指定每行像素,以构成任何“原始数据”

由于BMP的性质,其中数据是未压缩的像素数据,如果确实需要,我想您可以imagecreate()创建一个空图像,并在for(y){for(x){…}循环中使用imagesetpixel()来设置原始BMP文件提取的像素数据。不知道你想做什么,我还是打赌会有更简单的方法

[1] /“imagecreatefromstring()返回表示从给定图像获得的图像的图像标识符。如果您的PHP版本支持这些类型,则会自动检测它们:JPEG、PNG、GIF、WBMP和GD2。”


[2]

在这方面,imagecreatefromstring()或PHP的GD似乎不支持BMP[1]

它似乎支持WBMP,而不是BMP。[2]

此外,imagecreatefromstring()希望接收整个文件,而不仅仅是您可能拥有的任何选定像素的“提取”。如果它接受原始像素数据(忘记了诸如颜色格式、位计数等问题),您仍然需要至少为GD的imagecreatefromstring()指定每行像素,以构成任何“原始数据”

由于BMP的性质,其中数据是未压缩的像素数据,如果确实需要,我想您可以imagecreate()创建一个空图像,并在for(y){for(x){…}循环中使用imagesetpixel()来设置原始BMP文件提取的像素数据。不知道你想做什么,我还是打赌会有更简单的方法

[1] /“imagecreatefromstring()返回表示从给定图像获得的图像的图像标识符。如果您的PHP版本支持这些类型,则会自动检测它们:JPEG、PNG、GIF、WBMP和GD2。”


[2]

去掉空格并使用(或userland实现)。您需要将字节数组转换为二进制字符串,您是如何做到的?去掉空格并使用(或userland实现)。您需要将字节数组转换为二进制字符串,您是如何做到的?
$im = imagecreatefromstring($data);
  if ($im !== false) {
      header('Content-Type: image/png');
      imagepng($im);
      imagedestroy($im);
  }
  else {
      echo 'An error occurred.';
  }