gpt4 book ai didi

objective-c - iOS - 合并两个不同大小的图像

转载 作者:IT王子 更新时间:2023-10-29 07:54:53 56 4
gpt4 key购买 nike

我面临以下问题:我必须合并两张图像 A 和 B 以创建新图像 C 作为合并的结果。
我已经知道如何合并两个图像,但在这种情况下,我的目标有点不同。
我希望图像 A 将作为图像 B 的背景。
例如,如果图像 A 的大小为 500x500,图像 B 的大小为 460x460,我希望图像 C(合并后的图像结果)为 500x500,图像 B (460x460) 居中。

在此先感谢您的任何帮助或建议

最佳答案

这是我在我的应用中所做的,但没有使用 UIImageView:

UIImage *bottomImage = [UIImage imageNamed:@"bottom.png"]; //background image
UIImage *image = [UIImage imageNamed:@"top.png"]; //foreground image

CGSize newSize = CGSizeMake(width, height);
UIGraphicsBeginImageContext( newSize );

// Use existing opacity as is
[bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

// Apply supplied opacity if applicable
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:0.8];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

如果图像已经有不透明度,则不需要设置它(如 bottomImage),否则你可以设置它(如图像)。

创建此 UIImage 后,您可以将其嵌入到您的 UIImageView

更新:感谢 Ahmet AkkoK - 对于 Swift (2.2) 用户,混合模式宏已更改。 CGBlendMode .kCGBlendModeNormal 替换为 CGBlendMode.Normal

关于objective-c - iOS - 合并两个不同大小的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208951/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com