在PHP中使用Imagick将图像转换为BMP 24位

我需要使用Spreadsheet_Excel_Writer将图像插入Excel文件,所以我必须将其转换为BMP 24位。 我使用的代码是:

$preview_file = DIR_CACHE . $productId . '-1.bmp'; $preview = new Imagick(DIR_IMAGE . $row['image']); $preview->resizeImage(100, 100, imagick::FILTER_UNDEFINED, 1); $preview->setFormat('BMP3'); $preview->writeImage($preview_file); $worksheet->insertBitmap( $i, $j++, $preview_file, 0, 0, 1, 1 ); 

但在Excel的图像显示窃听。 我试图用Paint重新保存并添加到Excel中 – 它变得很好。 所以,我已经比较了这两个文件,并看到: 截图

我如何解决这个问题?

UPDATE

链接为结果BMPs:

https://dl.dropboxusercontent.com/u/17397112/613-1.bmp https://dl.dropboxusercontent.com/u/17397112/613-2.bmp

在Excel中的错误显示为:

窃听器