我有一个视图,其中有3个子视图,所有三个子视图都在uiscrolviews中有uimageviews。因此可以滚动或缩放图像视图。图像非常大。
现在视图的总大小是480X320,但我想捕获更大尺寸的屏幕,例如960X640。但是当我尝试这样做时,图像被拉伸,像素受到干扰。
有没有办法拉伸尺寸较大但以小框架显示的图像?
由于 的Pankaj
答案 0 :(得分:1)
尝试这段代码,它对我有用。
- (UIImage *)resizeImage:(UIImage *)图像宽度:(int)width height:(int)height {
CGImageRef imageRef = [image CGImage];
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);
//if (alphaInfo == kCGImageAlphaNone)
alphaInfo = kCGImageAlphaNoneSkipLast;
CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef), 4 * width, CGImageGetColorSpace(imageRef), alphaInfo);
CGContextDrawImage(bitmap, CGRectMake(0, 0, width, height), imageRef);
CGImageRef ref = CGBitmapContextCreateImage(bitmap);
UIImage *result = [UIImage imageWithCGImage:ref];
CGContextRelease(bitmap);
CGImageRelease(ref);
return result;
}