介绍
这篇文章运用简单易懂的例子给大家介绍如何使用php将bmp转jpg格式,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
php bmp转jpg的方法:首先打开“php . ini”文件,然后开启gd扩展库;最后使用“changeBMPtoJPG”等方法将bmp的文件转换成jpg格式即可。
引用><强> php转换bmp图片格式为jpg格式强>
进行图片格式转换前,先输出phpinfo()查看php库信息,查看gd扩展库是否开启,若未开启,打开php。ini文件,
这里转换成为jpg格式需要支持JPEG支持,png需要png支持支持,对应的先检查自己转的格式是否支持
imagejpeg()函数失败也许是你的文件夹权限问题,得多注意
可以先用function_exist()函数ImageCreateFromBMP检查是否存在,下例中的ImageCreateFromBMP_private用来代替ImageCreateFromBMP方法
示例代码如下:
& lt; php ? $ srcFile=& # 39; test.bmp& # 39;;//需要转换的图片 (信息=getimagesize美元srcFile); $ srcFileExt=$ info [& # 39; mime # 39;];//判断是否是bmp格式 if ($ srcFileExt==& # 39;图像/x-ms-bmp& # 39;) { (结果=changeBMPtoJPG美元srcFile); 如果美元(结果){ echo $结果; 其他}{ 回声“转换失败!“; } 其他}{ 回声“该图片不是bmp格式“; } 退出; 函数ImageCreateFromBMP_private ($ filename) { 如果(!$ f1=fopen(文件名,美元“rb")) 返回错误; $ FILE=解压(“vfile_type/Vfile_size/Vreserved/Vbitmap_offset",从文件中读(f1美元,14)); if($文件[& # 39;file_type& # 39;] !=19778) 返回错误; $ BMP=解压(& # 39;Vheader_size/Vwidth Vheight/vplanes vbits_per_pixel& # 39;. & # 39;/Vcompression/Vsize_bitmap/Vhoriz_resolution& # 39;. & # 39;/Vvert_resolution/Vcolors_used/Vcolors_important& # 39;,从文件中读(f1美元,40)); $ BMP[& # 39;颜色# 39;]=战俘(2,BMP美元[& # 39;bits_per_pixel& # 39;]); 如果(BMP美元[& # 39;size_bitmap& # 39;]==0) $ BMP [& # 39; size_bitmap& # 39;]=$文件[& # 39;file_size& # 39;] - $文件[& # 39;bitmap_offset& # 39;]; $ BMP [& # 39; bytes_per_pixel& # 39;]=$ BMP (& # 39; bits_per_pixel& # 39;)/8; $ BMP [& # 39; bytes_per_pixel2& # 39;]=装天花板(BMP美元[& # 39;bytes_per_pixel& # 39;]); $ BMP[& # 39;贴花# 39;]=(BMP美元[& # 39;宽度# 39;]*美元BMP (& # 39; bytes_per_pixel& # 39;)/4); $ BMP[& # 39;贴花# 39;]-=地板(BMP美元[& # 39;宽度# 39;]*美元BMP (& # 39; bytes_per_pixel& # 39;)/4); $ BMP[& # 39;贴花# 39;]=4 - (4 * $ BMP[& # 39;贴花# 39;]); 如果(BMP美元[& # 39;贴花# 39;]==4) $ BMP[& # 39;贴花# 39;]=0; $面板=数组(); 如果(BMP美元[& # 39;颜色# 39;]& lt;16777216){ $面板=解压(& # 39;v # 39;。$ BMP[& # 39;颜色# 39;],从文件中读(f1, BMP美元[& # 39;颜色# 39;]* 4)); } IMG美元=从文件中读(f1, BMP美元[& # 39;size_bitmap& # 39;]); 见=美元对应(0); (res=imagecreatetruecolor美元BMP[& # 39;宽度# 39;],美元BMP[& # 39;高度# 39;]); $ P=0; Y=BMP美元[& # 39;高度# 39;]- 1; 而($ Y祝辞=0){ $ X=0; 而($ X & lt;$ BMP[& # 39;宽度# 39;)){ 开关(BMP美元[& # 39;bits_per_pixel& # 39;)) { 例32: 颜色=美元解压(“V" substr (IMG, P,美元3)。见美元); 打破; 例24: 颜色=美元解压(“V" substr (IMG, P,美元3)。见美元); 打破; 例16: 颜色=美元解压(“n" substr (IMG, P,美元2)); [1]=颜色调色板美元(颜色[1]+ 1美元); 打破; 例8: 颜色=美元解压(“n"见美元。substr (IMG, P,美元1)); [1]=颜色调色板美元(颜色[1]+ 1美元); 打破; 案例4: 颜色=美元解压(“n"见美元。substr (IMG美元,地板($ P), 1)); 如果(($ P * 2) % 2==0) 颜色(颜色[1]=美元[1]在祝辞4); 其他的 颜色(颜色[1]=美元[1],0 x0f); [1]=颜色调色板美元(颜色[1]+ 1美元); 打破; 案例1: 颜色=美元解压(“n"见美元。substr (IMG美元,地板($ P), 1)); 如果(($ P * 8) % 8==0) 颜色颜色[1]=美元[1]在祝辞7; elseif (($ P * 8) % 8==1) 颜色(颜色[1]=美元[1],0 x40)在祝辞6; elseif (($ P * 8) % 8==2) 颜色(颜色[1]=美元[1],0 x20)在祝辞5; elseif (($ P * 8) % 8==3) 颜色(颜色[1]=美元[1],0 x10)在祝辞4; elseif (($ P * 8) % 8==4) 颜色(颜色[1]=美元[1],0×8)在祝辞3; elseif (($ P * 8) % 8==5) 颜色(颜色[1]=美元[1],0 x4)在祝辞2; elseif (($ P * 8) % 8==6) 颜色(颜色[1]=美元[1],0 x2)在祝辞1; elseif (($ P * 8) % 8==7) 颜色(颜色[1]=美元[1],0 x1); [1]=颜色调色板美元(颜色[1]+ 1美元); 打破; 默认值: 返回错误; 打破; } imagesetpixel ($, $ X, Y,美元颜色[1]); $ X + +; $ P +=$ BMP [& # 39; bytes_per_pixel& # 39;]; } $ Y,; $ P +=$ BMP[& # 39;贴花# 39;]; } 文件关闭(f1); 返回res美元; } 函数changeBMPtoJPG (srcPathName美元){ srcFile=srcPathName美元; $ dstFile=str_replace (& # 39; . bmp # 39;, & # 39; jpg # 39;, srcPathName美元); (photoSize=GetImageSize美元srcFile); pw=photoSize美元[0]; ph=photoSize美元[1]; $ dstImage=ImageCreateTrueColor (pw, ph值美元); 白色美元=imagecolorallocate (dstImage美元,255、255、255);//用美元白色颜色填充图像 imagefill (dstImage美元,0,0,白色美元);//读取图片 (srcImage=ImageCreateFromBMP_private美元srcFile);//合拼图片 imagecopyresampled (dstImage, srcImage美元,0,0,0,0,pw美元,美元的ph值,pw美元,美元ph值); 法官=imagejpeg美元($ dstImage dstFile 90美元); imagedestroy ($ dstImage); 如果美元(法官){ 返回dstFile美元; 其他}{ 返回错误; } } ?如何使用php将bmp转jpg格式