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?
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. Theimagecreatefromxbm()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.