如何使用php将bmp转jpg格式

  介绍

这篇文章运用简单易懂的例子给大家介绍如何使用php将bmp转jpg格式,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

php bmp转jpg的方法:首先打开“php . ini”文件,然后开启gd扩展库;最后使用“changeBMPtoJPG”等方法将bmp的文件转换成jpg格式即可。

<强> php转换bmp图片格式为jpg格式

进行图片格式转换前,先输出phpinfo()查看php库信息,查看gd扩展库是否开启,若未开启,打开php。ini文件,

这里转换成为jpg格式需要支持JPEG支持,png需要png支持支持,对应的先检查自己转的格式是否支持

如何使用php将bmp转jpg格式

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格式