zoukankan      html  css  js  c++  java
  • 一些浏览器智能翻转图片,php判断并复制(覆盖)带有Orientation图片翻转信息的JPEG图片

    /**
    * 处理带有Orientation图片翻转信息的JPEG图片
    * param $imagePath 图片资源路径
    * param $dscPath 目标路径
    * 照片中EXIF Orientation 参数让你随便照像但都可以看到正确方向的照片而无需手动旋转(前提要图片浏览器支持,Windows 自带的不支持)
    *
    * */
    public static function delImgOrientation($imagePath, $dscPath = null)
    {
    /* exif_imagetype($imagePath)返回2为JPGE,为可能数码相机拍摄的照片
    ,可能包含Orientation信息, 先判断图片资源存在且为JPEG*/
    if (!file_exists($imagePath) || exif_imagetype($imagePath) != 2) {
    return false;
    }
    //$exifInfo['Orientation']值1为不旋转 3为旋转180度 6为顺时针90度 8为逆时针90度
    $exifInfo = @read_exif_data($imagePath, 'EXIF', 0);//获取图片的exif信息
    if ($exifInfo && in_array($exifInfo['Orientation'], array(3, 6, 8))) { //如果图片Orientation翻转,拷贝图像
    $size = getimagesize($imagePath);
    $weight = $size[0];
    $height = $size[1];
    $dstImg = @imagecreatetruecolor($weight, $height);//创建目标图像
    $srcImg = @imagecreatefromjpeg($imagePath);//读取源图像
    imagecopy($dstImg, $srcImg, 0, 0, 0, 0, $weight, $height);//复制图像
    $dscPath = isset($dscPath) ? $dscPath : $imagePath;//如未设置目标图片路径覆盖原图片
    imagejpeg($dstImg, $dscPath);//输出图片(覆盖原图片)
    imagedestroy($dstImg);//释放图像内存
    imagedestroy($srcImg);
    }
    }

    //转载请注明出处

  • 相关阅读:
    CSS盒子模型
    CSS
    html基础
    浅谈三层架构
    mysql更改表结构:添加、删除、修改字段、调整字段顺序
    类的高级概念
    无锁版以时间为GUID的方法
    以当前时间作为GUID的方法
    关于客户定制化软件的探讨
    关于敏捷的一点想法
  • 原文地址:https://www.cnblogs.com/hellozg/p/6322327.html
Copyright © 2011-2022 走看看