ios 裁剪框大小_iOS自定义裁剪图片比例尺寸,图片自动旋转解决办法

news/2024/11/23 20:15:50/

最近因做直播项目需要,要求上传直播的一个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.


http://www.ppmy.cn/news/789788.html

相关文章

uni-app图片裁剪按照16:9或者9:16尺寸裁剪

1、引入组件 npm install vue-cropper-h5 or yarn add vue-cropper-h5 or cnpm install vue-cropper-h5 2、在需要的引入裁剪功能的页面引入组件 <1>html <!-- 裁剪组件 --><div class"cropperh5"><cropperh5ref"cropper"hide-in…

一寸照纯红色底图片_如何用最快的速度给证件照换底色?

第三次更新.... 好多小伙伴评论还有私信我用wps可不可以&#xff0c;还有问word2008为什么不行 好吧既然word2010要求太高 我再推荐给大家一个方法 直接用手机&#xff01;手机大家都有吧 去年我剪了短发&#xff0c;原来长发拍的证件照就不能用了 考研报名的时候需要上传证件照…

如何将图片裁剪成规定尺寸?怎样裁剪多余画面尺寸?

相信很多小伙伴遇到这种情况&#xff0c;我们有时候用手机拍摄的照片在分享到一些网站平台时&#xff0c;因为图片不符合上传要求的尺寸大小&#xff0c;系统会自动将图片裁剪一部分&#xff0c;比较影响图片的美观。这就需要我们用手机裁剪图片到指定尺寸之后再上传使用&#…

PS基础教程[6]如何快速制作一寸照片

一寸照片使我们经常会用到的&#xff0c;很多的证件照都是使用一寸的照片作为存档的。写这个经验也是因为刚刚有网友求助做一寸照片&#xff0c;所以就顺便写个经验。废话不多说了&#xff0c;进入正题&#xff0c;PS基础教程之快速制作一寸的照片。 制作方法 1、这里就以没有其…

Android手机调用系统相机拍照、裁剪以及获取Url上传图片

前言 最近一个人在公司搞独立开发&#xff0c;遇到问题只能自己解决&#xff0c;虽然过程比较坎坷&#xff0c;但是收获还是颇多的&#xff0c;一个人也是要坚强滴&#xff0c;最近弄用户的头像遇到了一些小问题&#xff0c;虽然上一款应用有头像上传&#xff0c;但是发现了其…

微信小程序中裁剪图片以及压缩到指定尺寸并上传

本文分为两个内容&#xff0c;分别是裁剪图片和压缩 引出问题 1.为何要裁剪图片 因为需要上传头像&#xff0c;但是每个型号的手机拍出来的照片尺寸都不太一样&#xff0c;不能统一&#xff0c;所以&#xff0c;希望在上传之前进行自主裁剪&#xff0c;保证上传到服务器上的尺…

html5 手机端 剪裁,用Canvas实现h5移动端图片裁剪

前阵子七夕的时候搞了一个h5活动页,需要做一个本地图片的裁剪上传功能,用于生成一些特定的表白图片。主要是用到了H5的FileApi 和 Canvas。个人感觉图片裁剪功能还是很实用的,故写篇文章分享一下。 (PS:这个demo本来是移动端的,但了为了方便录制效果,所以我用chrome模拟地…

android 7.0 手机拍照裁剪问题

在android7.0 之前 &#xff0c;如果需要用到拍照的时候 我们一般都这样去写 //先新建一个File类型的对象 File filenew File(Environment.getExternalStorageDirectory(), "/img/"System.currentTimeMillis() ".jpg"); if (!file.getParentFile().exist…