我要创建一个具有以下功能的简单应用程序:
应用程序的第一页将显示来自服务器的图像列表(当我们显示这些图像时,我们应该对其进行像素化)。
一旦用户单击任何像素化图像,它将打开详细视图(在新的 ViewController 中打开该像素化图像)。
当用户在细节视图控制器图像上进行一次触摸时,它会降低其像素化水平,并且在一些点击之后用户可以看到真实的图像。
我的问题是我无法找到动态像素化所有这些东西的方法。请帮我。
我要创建一个具有以下功能的简单应用程序:
应用程序的第一页将显示来自服务器的图像列表(当我们显示这些图像时,我们应该对其进行像素化)。
一旦用户单击任何像素化图像,它将打开详细视图(在新的 ViewController 中打开该像素化图像)。
当用户在细节视图控制器图像上进行一次触摸时,它会降低其像素化水平,并且在一些点击之后用户可以看到真实的图像。
我的问题是我无法找到动态像素化所有这些东西的方法。请帮我。
GPUImage框架有一个像素化过滤器,因为它使用 GPUAcceleration 在图像上应用过滤器非常快,并且您可以在运行时改变像素化级别。
UIImage *inputImage = [UIImage imageNamed:<#yourimageame#>];
GPUImagePixellateFilter *filter = [[GPUImagePixellateFilter alloc] init];
UIImage *filteredImage = [filter imageByFilteringImage:inputImage];
对图像进行像素化的一种简单方法是使用CIPixellate
Core Image 中的过滤器。
使用 Core Image 过滤器处理图像的说明和示例代码可以在Core Image Programming Guide中找到。
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];
尝试这个。快乐编码