网站建设资讯

NEWS

网站建设资讯

phpbmp转jpg的实现方法

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

十余年的南江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整南江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“南江网站设计”,“南江网站推广”以来,每个客户项目都认真落实执行。

推荐:《PHP视频教程》

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

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

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;
    }
}?>

本文名称:phpbmp转jpg的实现方法
标题链接:http://cdweb.net/article/cpejig.html