Objective c 获取调整大小的图像的图像数据WithCapInsets:调整大小后
我有一个png,我正在使用它作为另一个图像的图像掩码。这两个图像都有圆角,这些圆角将使用大小可调整的图像WithCapInsets:保留。图像(不是遮罩)正在自动调整大小,因为它是UIProgressView的progressImage 我遇到的问题是,如果我使用cgimamaskcreate创建一个遮罩,并简单地给它UIProgressView的宽度,遮罩图像会被拉伸(即,它不会保留封口) 我想做的是创建一个带有可调整大小的大写的新UIImage,手动调整图像大小(可能通过将其放在UIImageView中),获取调整大小版本的遮罩图像的数据表示,然后使用该数据创建一个新图像,并将该图像用作遮罩。但是,即使我使用图像创建UIImageView,然后适当地设置UIImageView的框架,从视图中恢复图像也会得到我的原始图像Objective c 获取调整大小的图像的图像数据WithCapInsets:调整大小后,objective-c,ios,uiimage,Objective C,Ios,Uiimage,我有一个png,我正在使用它作为另一个图像的图像掩码。这两个图像都有圆角,这些圆角将使用大小可调整的图像WithCapInsets:保留。图像(不是遮罩)正在自动调整大小,因为它是UIProgressView的progressImage 我遇到的问题是,如果我使用cgimamaskcreate创建一个遮罩,并简单地给它UIProgressView的宽度,遮罩图像会被拉伸(即,它不会保留封口) 我想做的是创建一个带有可调整大小的大写的新UIImage,手动调整图像大小(可能通过将其放在UIImag
是否有任何方法可以在不将图像实际绘制到UI中的情况下获得带capinsets:image的可调整大小的图像的结果?我会尝试将图像逐块绘制到CGContext中,在CGContext中,您可以访问数据提供程序或通过创建UIImage提取NSData
- (UIImage*) drawImage:(UIImage *)image
atSize:(CGSize) size
{
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
CGImageRef cgImage = CGBitmapContextCreateImage(context);
UIImage *outImage = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);
UIGraphicsEndImageContext();
return outImage;
}