将图像拉伸到更大的尺寸而不会干扰iPhone中的像素

时间:2011-03-25 05:27:43

标签: iphone uiview uiimageview

我有一个视图,其中有3个子视图,所有三个子视图都在u​​iscrolviews中有uimageviews。因此可以滚动或缩放图像视图。图像非常大。
现在视图的总大小是480X320,但我想捕获更大尺寸的屏幕,例如960X640。但是当我尝试这样做时,图像被拉伸,像素受到干扰。

有没有办法拉伸尺寸较大但以小框架显示的图像?

由于 的Pankaj

1 个答案:

答案 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;  

}