我正在使用UIImageView,我必须将多个图像设置为背景。
所有图像都具有透明背景,并且在其角落处包含任何一个符号。根据条件保存图像。此外,也有可能存在多个图像。
目前我正在设置图片,但我只能查看最后一张图片。所以我希望所有图像都能一起显示。
如果有其他方法可以将多张图片转换为单张图片,请告诉我。
任何帮助将不胜感激
提前致谢
答案 0 :(得分:2)
您可以使用混合模式绘制图像。例如,如果您有UIImage
,则可以致电drawAtPoint:blendMode:alpha:
。在大多数情况下,您可能希望使用kCGBlendModeNormal
作为混合模式。
答案 1 :(得分:2)
我创建了一个获取图像数组并返回单个图像的函数。我的代码如下:
-(UIImage *)blendImages:(NSMutableArray *)array{
UIImage *img=[array objectAtIndex:0];
CGSize size = img.size;
UIGraphicsBeginImageContext(size);
for (int i=0; i<array.count; i++) {
UIImage* uiimage = [array objectAtIndex:i];
[uiimage drawAtPoint:CGPointZero blendMode:kCGBlendModeNormal alpha:1.0];
}
return UIGraphicsGetImageFromCurrentImageContext();
}
希望这也有助于其他人。
答案 2 :(得分:1)
您应该将图像合成一个 - 特别是因为它们具有Alpha通道。
要做到这一点,你可以
UIGraphicsBeginImageContextWithOptions
以目标尺寸创建图像(现在缩放,而不是在绘制到屏幕并选择适当的不透明度时)CGContextDrawImage
UIGraphicsGetImageFromCurrentImageContext
将结果作为UIImage
获取,您将其设置为图像视图的图像。答案 3 :(得分:0)
您可以使用:
typedef enum _imageType{
image1,
image2,
...
imageN
}imageType;
并在 @interface
中声明imageType imgType;
在.h文件中。
在.m文件中
-(void)setImageType:(imageType)type{
imgType = type;
}
然后你可以使用函数 setImageType:来设置你想要的任何图像。