gpt4 book ai didi

ios - UI图像处理IOS

转载 作者:行者123 更新时间:2023-11-28 22:17:17 24 4
gpt4 key购买 nike

为了创建矩阵和操作图像的像素,我应该将图像转换为位图吗?我的应用程序是关于从相机或图书馆拍摄照片,当我触摸图像的一部分时,图像的这个区域应该拉伸(stretch)。这是我厌倦了将 UIImage 转换为位图的代码:

UIEdgeInsets edgeInsets = UIEdgeInsetsMake(-20, -20, -20, -20);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];
imageView.image = [[UIImage imageNamed:@"number1.png"] resizableImageWithCapInsets:edgeInsets];
[self.view addSubview:imageView];
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 0.0);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *bmImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSArray *documentsPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentsPaths objectAtIndex:0];
[UIImagePNGRepresentation(bmImage) writeToFile:[documentsDir stringByAppendingString:@"num1.png"] atomically:YES];

谢谢你的帮助

最佳答案

解决您的问题的正确方法是镶嵌图像,然后扭曲镶嵌网格。这是计算机图形学中的常用技术(例如使用 OpenGL)。

您可以自己尝试或使用现有的专用框架,如 GPUImage .它提供了许多预制的过滤器和失真效果。只需转到链接页面并在页面中搜索“失真”即可。你有挤压变形、漩涡变形、凸起变形等等。

您可能需要获取其中一个类并对其进行一些修改,以便在移动的中心周围应用效果,但这应该不会那么困难。

顺便说一句:你在代码中所做的事情并不是很有用,因为你已经有了一个 UIImage,所以你不需要把它放在 UIImageView 中并且将 View 渲染到位图上下文中以产生另一个 UIImage

关于ios - UI图像处理IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com