Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to create GD image resource from BMP with MIME type 'image/x-ms-bmp' in PHP

Tags:

php

gd

bmp

I'm trying to create a GD image resource from a BMP image, however I'm having no luck.

The BMP image in question was created and saved with Photoshop. I've tried a couple of BMPs I found on the web too, and they gave the same results.

getimagesize() tells me the BMP image has an image type of IMAGETYPE_BMP (6) and a MIME type of 'image/x-ms-bmp'.

I've tried running the image through imagecreatefromwbmp() and imagecreatefromxbm(), but neither recognise it. I've also tried running it through imagecreatefromstring(), but that errored saying 'Data is not in a recognized format'.

I'm running XAMPP on a Windows machine with PHP 5.3.1 and GD 2.0.34 with WBMP and XBM support enabled. I've also tried this on a Linux server running PHP 5.2.6 and GD 2.0.34 with WBMP and XBM support enabled, same result.

Any ideas how I can create a GD image resource from this BMP? Is it actually possible?

like image 219
Stephen Melrose Avatar asked Dec 04 '25 10:12

Stephen Melrose


2 Answers

As far as I know, it doesn't support BMP images. The imagecreatefromwbmp() method is for dealing with wireless bitmaps (WBMP) files, not the normal BMP you have there. The imagecreatefromxbm() is for dealing with the XBM format (again, different from BMP).

I would work around this by re-opening Photoshop and re-saving as PNG or JPG. Assuming you have PHP installed/compiled with the appropriate support, you'll be able to work with one or both of those image formats fine.

like image 56
Mark Embling Avatar answered Dec 07 '25 01:12

Mark Embling


There is a new opensource project on Github that allows reading and saving of BMP files (and other file formats) in PHP. It's pretty easy to use.

The project is called PHP Image Magician.

like image 22
Jarrod Avatar answered Dec 07 '25 00:12

Jarrod