代码如下:
- (UIImage *)addTwoImageToOne:(UIImage *)oneImg
twoImage:(UIImage *)twoImg
xposition:(NSInteger)xpos
yposition:(NSInteger)ypos
{
UIGraphicsBeginImageContext(oneImg.size);
[oneImg drawInRect:CGRectMake(0, 0, oneImg.size.width, oneImg.size.height)];
//*scale这个是临时处理,因为oneImg是从摄像头来的,是实际的大小,twoImg不是
[twoImg drawInRect:CGRectMake(xpos, ypos, twoImg.size.width*twoImg.scale, twoImg.size.height*twoImg.scale)];
UIImage *resultImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultImg;
}
这里面要注意的一个问题是,ios里面屏幕显示,实际上说的都是像素点,在320*480或是640*960的屏幕上,一倍的图片和二倍的图片的像素点大小都是一样的,
所以,我们在设计界面的时候,都是按320*480来设计的,而对于图片的实际大小应该是 像素点*scale, image.size是像素点,,drawInRect这个是针对实际像素点来
画的,并不会自动去做scale(2倍)处理。