ios - 使用 GPUImage 旋转 UIImage 的正确方法

标签 ios rotation uiimage gpuimage

我想使用 GPUImage 旋转一个大的 UIImage,因为它比核心图形快得多,至少在 iOS 设备上是这样。

这是我正在做的:

 GPUImagePicture *src = [GPUImagePicture alloc] initWithImage:image];
 GPUImageFilter *rotationFilter = [[GPUImageFilter alloc] init];
 [rotationFilter setInputRotation:gpuRotationMode atIndex:0];
 [src addTarget:rotationFilter];
 [src processImage]
 [rotationFilter imageFromCurrentlyProcessedOutputWithOrientation:UIImageOrientationUp];

唯一的问题是我在最后得到一条白色像素条(黑色 strip 不是图像的一部分):

gpuimage orientation rotation
(来源:kevinharringtonphoto.com)

我如何去掉那条白色 strip ?

注意:我在旋转滤镜之上使用了其他滤镜。可能与其他过滤器一起使用时出现问题。

最佳答案

问题在于您正在使用的图层之一的大小。太小了。您是否通过图像优化软件传递图像?这也会导致这类问题。

关于ios - 使用 GPUImage 旋转 UIImage 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16366413/

相关文章:

ios - 贪吃蛇游戏运动问题 Spritekit

unity3d - 在 Unity 3D 中旋转对象

java - 图像旋转Java

iphone - iOS UIImageJPEGRepresentation错误: Not a JPEG file: starts with 0xff 0xd9

ios - 在 Swift 中为 "CropRect"设置一个固定的宽度和高度

iPhone iOS 如何在应用程序从后台恢复时添加 pin/密码锁屏?

ios - 多次缩放后图像缩小

iphone - 同时可拉伸(stretch)和图案化 UIImage

ios - 如何在表格 View 中相互交换两个自定义单元格?

c++ - 旋转 4x4 矩阵会导致随时间缩放