如何在iOS中像素化像素?

时间:2014-09-04 13:25:06

标签: ios objective-c uiimage pixelate

我要创建一个具有以下功能的简单应用程序:

  1. 应用程序的第一页将显示来自服务器的图像列表(当我们显示这些图像时,我们应该像素化它)。

  2. 一旦用户点击任何像素化图像,它将在详细视图中打开(在新的ViewController中打开像素化图像)。

  3. 当用户单击一下细节视图控制器图像时,它会降低其像素化级别,点击一下后用户就可以看到真实图像。

    我的问题是我无法找到一种动态像素化所有这些东西的方法。请帮帮我。

3 个答案:

答案 0 :(得分:5)

GPUImage Framework有一个像素滤镜,因为它使用GPUAcceleration在图像上应用滤镜的速度非常快,您可以在运行时改变像素级别。

UIImage *inputImage = [UIImage imageNamed:<#yourimageame#>];
GPUImagePixellateFilter *filter = [[GPUImagePixellateFilter alloc] init];
UIImage *filteredImage = [filter imageByFilteringImage:inputImage];

答案 1 :(得分:4)

像素化图像的简单方法是使用核心图像中的CIPixellate滤镜。

可以在Core Image Programming Guide

中找到使用核心图像过滤器处理图像的说明和示例代码

答案 2 :(得分:-1)

UIImage *yourImage = [UIImage imageNamed:@"yourimage"]; NSData *imageData1 = UIImageJPEGRepresentation(yourImage, 0.2); NSData *imageData2 = UIImageJPEGRepresentation(yourImage, 0.3);

依此类推

NSData *imageDataN = UIImageJPEGRepresentation(yourImage, 1);

借助以下内容显示imageData:

UIImage *compressedImage = [UIImage imageWithData:imageData1];

试试这个。快乐的编码