快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

phpbmp转jpg有哪些实现方法-创新互联

本篇文章为大家展示了php bmp转jpg有哪些实现方法,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

专注于为中小企业提供网站设计制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业天峨免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

php bmp转jpg的实现方法:首先开启gd扩展库;然后用“function_exist()”函数“ImageCreateFromBMP”检查是否存在;最后通过“ImageCreateFromBMP_private”方法实现转换即可。

进行图片格式转换前,先输出phpinfo()查看php库信息,查看gd扩展库是否开启,若未开启,打开php.ini文件,用查找工具找到extension=php_gd2.dll,把extension=php_gd2.dll 前面的【;】,就可以了

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

php bmp转jpg有哪些实现方法

imagejpeg()函数失败也许是你的文件夹权限问题,得多注意

可以先用function_exist()函数ImageCreateFromBMP检查是否存在,下例中的ImageCreateFromBMP_private用来代替ImageCreateFromBMP方法

示例代码如下:

= 0) {        $X = 0;        while ($X < $BMP['width']) {            switch ($BMP['bits_per_pixel']) {                case 32:                    $COLOR = unpack("V", substr($IMG, $P, 3) . $VIDE);                    break;                case 24:                    $COLOR = unpack("V", substr($IMG, $P, 3) . $VIDE);                    break;                case 16:                    $COLOR = unpack("n", substr($IMG, $P, 2));                    $COLOR[1] = $PALETTE[$COLOR[1] + 1];                    break;                case 8:                    $COLOR = unpack("n", $VIDE . substr($IMG, $P, 1));                    $COLOR[1] = $PALETTE[$COLOR[1] + 1];                    break;                case 4:                    $COLOR = unpack("n", $VIDE . substr($IMG, floor($P), 1));                    if (($P * 2) % 2 == 0)                        $COLOR[1] = ($COLOR[1] >> 4);                    else
                        $COLOR[1] = ($COLOR[1] & 0x0F);                    $COLOR[1] = $PALETTE[$COLOR[1] + 1];                    break;                case 1:                    $COLOR = unpack("n", $VIDE . substr($IMG, floor($P), 1));                    if (($P * 8) % 8 == 0)                        $COLOR[1] = $COLOR[1] >> 7;                    elseif (($P * 8) % 8 == 1)                        $COLOR[1] = ($COLOR[1] & 0x40) >> 6;                    elseif (($P * 8) % 8 == 2)                        $COLOR[1] = ($COLOR[1] & 0x20) >> 5;                    elseif (($P * 8) % 8 == 3)                        $COLOR[1] = ($COLOR[1] & 0x10) >> 4;                    elseif (($P * 8) % 8 == 4)                        $COLOR[1] = ($COLOR[1] & 0x8) >> 3;                    elseif (($P * 8) % 8 == 5)                        $COLOR[1] = ($COLOR[1] & 0x4) >> 2;                    elseif (($P * 8) % 8 == 6)                        $COLOR[1] = ($COLOR[1] & 0x2) >> 1;                    elseif (($P * 8) % 8 == 7)                        $COLOR[1] = ($COLOR[1] & 0x1);                    $COLOR[1] = $PALETTE[$COLOR[1] + 1];                    break;                default:                    return false;                    break;
            }

            imagesetpixel($res, $X, $Y, $COLOR[1]);            $X++;            $P += $BMP['bytes_per_pixel'];
        }        $Y--;        $P+=$BMP['decal'];
    }    fclose($f1);    return $res;
}function changeBMPtoJPG($srcPathName){    $srcFile=$srcPathName;  
    $dstFile = str_replace('.bmp', '.jpg', $srcPathName);    $photoSize = GetImageSize($srcFile);  
    $pw = $photoSize[0];  
    $ph = $photoSize[1];    $dstImage = ImageCreateTrueColor($pw, $ph);  
    $white = imagecolorallocate($dstImage, 255, 255, 255);    //用 $white 颜色填充图像
    imagefill( $dstImage, 0, 0, $white);    //读取图片  
    $srcImage = ImageCreateFromBMP_private($srcFile); 
    //合拼图片  
    imagecopyresampled($dstImage, $srcImage, 0, 0, 0, 0, $pw, $ph, $pw, $ph);  
    $judge = imagejpeg($dstImage, $dstFile, 90);  
    imagedestroy($dstImage);    if($judge){        return $dstFile;
    }else{        return false;
    }
}?>

上述内容就是php bmp转jpg有哪些实现方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联-成都网站建设公司行业资讯频道。


新闻标题:phpbmp转jpg有哪些实现方法-创新互联
URL地址:http://6mz.cn/article/dipsds.html

其他资讯