【问题标题】:Images get rotated by 90 Whole resizing using gd2 in CodeIgniter在 CodeIgniter 中使用 gd2 将图像旋转 90 整体调整大小
【发布时间】:2015-09-08 00:56:24
【问题描述】:

我曾使用 gd2 库调整图像大小。但有些图像在调整大小后旋转了 90 度,但不是所有图像。我没有使用任何旋转。这可能是什么原因?我是否需要设置其他任何东西配置?

我的代码在这里:

if(isset($_FILES) && !empty($_FILES)){

    $item_images = $_FILES;
    $this->load->library('upload');
    $this->load->library('image_lib'); 
    $config['upload_path']   = './temp/';
    $config['allowed_types'] = '*';
    $this->upload->initialize($config);

    //print_r($item_images);
    foreach($item_images as $ind=>$img_name){
        if($this->upload->do_upload($ind)){

            $data_image                     = $this->upload->data();


            //for cropping
            $config_crop['image_library'] = 'gd2';
            $config_crop['source_image']     = $config['upload_path'] . $data_image['file_name'];
            $config_crop['create_thumb']     = FALSE;
            $config_crop['maintain_ratio']   = TRUE;
            $config_crop['width']       = 300;
            $config_crop['height']      = 300;
            //$config_crop['rotation_angle'] = '0';
            //$config_crop['x_axis'] = '100';
            //$config_crop['y_axis'] = '40';

            $this->image_lib->initialize($config_crop);


            if ( ! $this->image_lib->resize())
            {
                echo $this->image_lib->display_errors(); 
            }

        }
        $image_thumb = $this->s3_model->upload_image('thumb_'.$img_name['name'] ,$config['upload_path'] . $data_image['file_name']);
        if($image_thumb){
            $result = $this->s3_model->upload_image($img_name['name'] ,$img_name['tmp_name']);
            //unlink($config['upload_path'] . $data_image['file_name']);
        }


        if(! $result){
            $flag = false; //Error in uploading image.
            break;
        }
    }


} 

【问题讨论】:

    标签: php codeigniter image-resizing


    【解决方案1】:

    你有 OSx 工作机器吗?

    在我的例子中,一张在我的 Mac 中正确显示的照片确实是侧身的,这是因为 OSX 预览在拍摄照片时检测到手机方向......

    服务器没有,Windows 机器也没有……这让我发疯了……

    不管你是不是这样,你都可以使用 exif_read_data() 函数。如果它存在于照片的元数据中,这将为您提供方向数据。

    在这里查看:How to detect shot angle of photo, and auto rotate for website display like desktop apps do on viewing?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-19
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2019-07-11
      • 2017-08-22
      • 2011-04-26
      相关资源
      最近更新 更多