给定尺寸为w
x h
的图像G,如何用白色环绕图像以生成320 x 480的新图像,其中G居中,被白色包围。传入图像的宽度和高度可能会大于320或480,因此首先我需要对其进行缩放以确保它小于320x480(或等于)。
-(UIImage *)whiteVersion:(UIImage *)img {
}
我会使用这些步骤:
Firstly, scale image if needed...then:
1. Create a UIImage of size 320x480
2. Paint the whole thing white
3. Paint G (the image) in the center by using some simple math to find the location
但是,我无法弄清楚第1步或第2步。
答案 0 :(得分:5)
您不会绘制图像。你绘制图形上下文。有不同种类的图形上下文。图像图形上下文允许您将其内容的快照作为图像。
- (UIImage *)whiteVersion:(UIImage *)myImage {
UIGraphicsBeginImageContextWithOptions(CGSizeMake(320, 480), YES, myImage.scale);
[[UIColor whiteColor] setFill];
UIRectFill(CGRectInfinite);
[myImage drawAtPoint:CGPointMake((320 - myImage.size.width) / 2, (480 - myImage.size.height) / 2)];
UIImage *myPaddedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return myPaddedImage;
}
您可以通过仔细阅读Drawing and Printing Guide for iOS和Quartz 2D Programming Guide了解有关在iOS上绘图的详情。