美文网首页相机、相册ios实用开发技巧
iOS自定义裁剪图片比例尺寸,图片自动旋转解决办法

iOS自定义裁剪图片比例尺寸,图片自动旋转解决办法

作者: 雪上踏痕 | 来源:发表于2016-09-06 15:57 被阅读2180次

      最近因做直播项目需要,要求上传直播的一个Cover页需要自定义裁剪图片的尺寸及比例,因为imagePicker只有一个imagePicker.allowsEditing这么个属性,但是这个属性设置之后,图片只能裁剪成1:1的正方形,而且具体尺寸也不能改变,太死板,自己在网上找了一些资料,然后自己试着做了一个小Demo,给大家分享一下:

Demo连接:https://github.com/iosweihui/WHCropImage

原生裁剪是这样的:

Demo里面选择照片之后可以通过手势来调整图片尺寸和比例

还有一点说明就是Demo里面加了一个分类:UIImage+FixOrientation

这个问题是有关iOS设备拍照的问题,就是用手机拍照之后当你使用这个图片的时候你会发现图片被翻转了90,应该有不少人遇到过这个问题吧.

我再做的时候是在用手机竖屏进行拍摄的情况下,通过

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

方法得到照片之后对图片进行裁剪操作之后会导致image的一个imageOrientation属性发生变化,有种说法是只要照片大于2M就会出现这个问题:

用相机拍摄出来的照片含有EXIF信息,UIImage的imageOrientation属性指的就是EXIF中的orientation信息。

相机拍照后直接取出来的UIimage(用UIImagePickerController OriginalImage取出),它本身的imageOrientation属性是3,即UIImageOrientationRight。如果这个图片直接使用则没事,但是如果对它进行裁剪、缩放等操作后,它的这个imageOrientation属性会变成0。此时这张图片用在别的地方就会发生旋转。

如果我们忽略orientation信息,而直接对照片进行像素处理或者drawInRect等操作,得到的结果是翻转或者旋转90之后的样子。这是因为我们执行像素处理或者drawInRect等操作之后,imageOrientaion信息被删除了,imageOrientaion被重设为0,造成照片内容和imageOrientaion不匹配。

所以,在对照片进行处理之前,先将照片旋转到正确的方向,并且返回的imageOrientaion为0,但是imageOrientaion这个属性是只读的,那么我们就可采用Category来解决,就是Demo中的那个UIImage+FixOrientation.

相关文章

  • iOS自定义裁剪图片比例尺寸,图片自动旋转解决办法

    最近因做直播项目需要,要求上传直播的一个Cover页需要自定义裁剪图片的尺寸及比例,因为imagePicke...

  • 超好用的vue图片裁剪插件vue-img-cutter

    支持任意尺寸裁剪和等比例裁剪,可以旋转缩放图片,支持远程图片裁剪,使用非常简单,几步就可以 项目地址:https:...

  • ios 图片裁剪

    不改变原图片比例,对图片超出尺寸部分进行裁剪 下图为原图,上图为按比例裁剪

  • 仿微信图片选择

    Android图片选择器,仿微信的图片选择器的样式和效果。支持图片单选、多选、裁剪形状自定义、裁剪比例设置、解耦图...

  • Android GitHud 项目插件

    1、android自定义相册,实现了拍照、图片选择(单选/多选)、 裁剪(单/多裁剪)、旋转、ImageLoade...

  • 10.重新构图-裁剪、旋转

    裁剪和旋转都是对图片进行重新构图的最基本操作。使用裁剪工具可以重新调整图片比例,去除照片中干扰物和多余的部分,突出...

  • 图片处理

    1、旋转2、裁剪3、截取4、平铺 自由拉伸 等比例缩放 根据颜色生成图片 截取某个view视图 文字水印 图片水印...

  • iOS图片裁剪与旋转

    iOS 图片裁剪方法原文地址:http://www.cnblogs.com/silence-cnblogs/p/6...

  • uni-app使用image-cropper进行图片裁剪(个人笔

    背景:在由用户上传图片生成自定义海报的时候,会存在图片尺寸太大造成拉伸的情况。所以在选择图片之后,对图片进行裁剪再...

  • iOS开发 Swift 图片裁剪

    KiClipperImageDemo 获取图片裁剪工具, 裁剪的尺寸可以自定, 可以自由拖动或者缩放, 图片, 裁...

网友评论

  • zhudms:您好,裁剪范围的触控调整很不灵敏,请问这是要在哪里调整
    山山逗:@zhudms 有更合适的Demo吗?
    zhudms:@雪上踏痕 谢谢!没改明白,后来又找了别的Demo😂
    雪上踏痕:不好意思 最近比较忙 你可以在imageView里修改position的位置
  • 男人宫:亲,有bug
    男人宫:@雪上踏痕 裁剪框出来后,点击取消,应该是从新照相,你的demo点击后卡在那个页面什么都不能做了
    雪上踏痕::joy:什么问题
  • me_bingo:有demo吗
    雪上踏痕:有,已经传到github了
  • 素酥:还有我想问下。。这个按比例是在哪里调整的。。我要4:3的
  • 素酥:可以留个联系方式吗?我有个问题想问。。怎么加图片涂鸦的..O(∩_∩)O谢谢

本文标题:iOS自定义裁剪图片比例尺寸,图片自动旋转解决办法

本文链接:https://www.haomeiwen.com/subject/wnbrettx.html