我要创建一个具有以下功能的简单应用程序:
应用程序的第一页将显示来自服务器的图像列表(当我们显示这些图像时,我们应该像素化它)。
一旦用户点击任何像素化图像,它将在详细视图中打开(在新的ViewController中打开像素化图像)。
当用户单击一下细节视图控制器图像时,它会降低其像素化级别,点击一下后用户就可以看到真实图像。
我的问题是我无法找到一种动态像素化所有这些东西的方法。请帮帮我。
答案 0 :(得分:5)
GPUImage Framework有一个像素滤镜,因为它使用GPUAcceleration在图像上应用滤镜的速度非常快,您可以在运行时改变像素级别。
UIImage *inputImage = [UIImage imageNamed:<#yourimageame#>];
GPUImagePixellateFilter *filter = [[GPUImagePixellateFilter alloc] init];
UIImage *filteredImage = [filter imageByFilteringImage:inputImage];
答案 1 :(得分:4)
像素化图像的简单方法是使用核心图像中的CIPixellate
滤镜。
答案 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];
试试这个。快乐的编码