php 获取图片资源和生成图片文件函数

 PHP基础  2018-11-12  admin  1448  1954

php 获取图片资源和生成图片文件函数

// php 获取图片资源和生成图片文件函数
/**
 * 获取图片资源
 * @param $src 图片路径
 * @return bool|resource
 */
function imageCreateFromAll($src)
{
    $src_arr = getimagesize($src);
    switch ($src_arr['mime']) {
        case 'image/jpeg':
            return imagecreatefromjpeg($src);
        case 'image/png':
            return imagecreatefrompng($src);
        case 'image/gif':
            return imagecreatefromgif($src);
        case 'image/bmp':
            return imagecreatefrombmp($src);
//        case 'image/wbmp':
//            return imagecreatefromwbmp($src);
//        case 'image/webp':
//            return imagecreatefromwebp($src);
//        case 'image/x-xbitmap':
//            return imagecreatefromxbm($src);
//        case 'image/x-xpixmap':
//            return imagecreatefromxpm($src);
        default :
            return false;
    }
}


/**
 * 生成图片文件
 * @param $src 原图的路径
 * @param $im 目标图的资源
 * @param string $ext 生成图片的扩展,默认是原图扩展名
 * @param string $prefix 文件名的前缀
 * @param int $quality 生成jpg格式图片的质量
 * @return bool|string
 */
function createImage($src, $im, $ext = '', $prefix = 'thumb_', $quality = 80)
{
    $src_path = pathinfo($src);
    //$ext 为空,和原图扩展名相同
    if (empty($ext)) {
        $ext = $src_path['extension'];
    }
    $new_file = $src_path['dirname'] . '/' . $prefix . $src_path['filename'] . '.' . $ext;
    switch (strtolower($ext)) {
        case 'jpg':
            imagejpeg($im, $new_file, $quality);
            return $new_file;
        case 'png':
            imagepng($im, $new_file);
            return $new_file;
        case 'gif';
            imagegif($im, $new_file);
            return $new_file;
        default:
            return false;
    }
}


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

相关推荐


点名工具,抽奖软件

点名工具,抽奖软件

酷炫的倒计时客户端

QQ: 425100867捐赠开发者:

AI人脸替换工具离线版V6.0 最新版下载

AI人脸替换工具离线版V6.0 最新版下载下载 解压 双击运行roop_rope_facefusion_V60.exe 文件即可下载链接:https://pan.quark.cn/s/be7953632126AI人脸替换工具离线版V6.0

Android各个版本与API等级之间的对应关系

API等级 1 - 3:Android 1.0 (Astro,也被称为“铁臂阿童木”)Android 1.1 (Petit Four,即“花色小蛋糕”)Android 1.5 (Cupcake)API等级 4:Android 1.6 (Donut)API等级 5 - 7:Android 2.0/2.0.1/2.1 (Éclair)API等级 8:Android 2.2/2.2.3 (Froyo)A