将Png转换为Bmp和位图数组

时间:2015-08-11 08:19:14

标签: c# image bitmap bmp

我在SO中搜索我的问题解决方案但是我没有找到(也许这不是问题而且它工作得很好,我只是为了获取它而倾倒)

我有BMP文件,我尝试转换为位图数组。一切都很好,但我得到一个看起来很奇怪的输出文件。该文件是16x32,所以我应该得到512位。最终的图像是黑白的,所以我应该有512 x 3(3色位)像素 - 1536像素,值0或255,但得到1590像素。这个54像素有不同的值比0或255为什么?那个值和bmp文件使用的是什么? 代码:`

use Zend\Form\Element;
use Zend\Form\Form;

$time = new Element\Time('time');
$time
->setLabel('Time')
->setAttributes(array(
    'min'  => '00:00:00',
    'max'  => '23:59:59',
    'step' => '60', // seconds; default step interval is 60 seconds
))
->setOptions(array(
    'format' => 'H:i:s'
));

$form = new Form('my-form');
$form->add($time);

我知道代码不好读,但仅用于某些测试 My image

1 个答案:

答案 0 :(得分:1)

我会说它的文件头,就像TaW已经指出的那样。根据此网站http://www.fastgraph.com/help/bmp_header_format.html,BMP标头大小为54个字节。如果你看偏移18和22,你应该看到你的图片的宽度和高度(16,32)。