【问题标题】:Crop uiimage as screen size将 uiimage 裁剪为屏幕大小
【发布时间】:2012-01-03 16:35:16
【问题描述】:

我的应用程序具有允许用户移动和缩放图像的功能,就像使用 UIImagePickerController 设置allowEditing = YES一样。

我的方法是使用滚动视图,允许用户缩放 1-4 级 滚动视图上只有一个图像视图。

最后,我想将图像裁剪为屏幕尺寸。我该怎么做?

【问题讨论】:

  • 如果你想裁剪图像,请转到照片>>点击你想要裁剪的照片然后按下开/关开关和主页按钮,图像将成为保存我们

标签: iphone objective-c uiimage crop


【解决方案1】:

诀窍是捕获包含缩放/旋转图像的视图层。在这种情况下,您需要捕获滚动视图层而不是图像本身。

我对此有一个 UIImage 捕获类别...查看 my article and download the source code.

更新:根据下面的评论裁剪部分图像...

首先捕获整个视图然后使用UIImage+Resize类别中的以下方法将图像裁剪为指定的矩形(也在文章中......)

- (UIImage *)croppedImage:(CGRect)bounds;

【讨论】:

  • 好的 simon lee 使用这个如何实现调整大小 like-img192.imageshack.us/img192/8930/customcropbox.jpg,你能指导我
  • 谢谢西蒙,我明白了。我捕获了滚动视图的图层。但问题是,当我放大并渲染图层时,结果屏幕会随着空白区域移动。我应该记录偏移量还是缩放比例以获得正确的输出图像?
  • 您应该使用滚动视图的内容偏移属性来确定矩形开始的位置(x 和 y),然后使用滚动视图的宽度和高度来确定大小。
  • 为你点赞,如何调用uiimage+resize方法裁剪图片,求帮助,stackoverflow.com/questions/8238464/…
  • 它是一个类别,因此这意味着您正在将该方法添加到现有的 UIImage 类中。这意味着您可以调用 [myImage croppedImage:CGRectMake(100, 200, 50, 25)];这将截取 100 像素宽、200 像素以下、50x25 像素大小的图像。
猜你喜欢
  • 2017-05-09
  • 2017-02-06
  • 2010-10-10
  • 2011-09-25
  • 2018-01-25
  • 2016-10-13
  • 1970-01-01
相关资源
最近更新 更多