Monotouch:将4张图像合并为1张(UIImage)

时间:2011-02-02 06:04:25

标签: iphone ipad uiimage xamarin.ios graphic

我有4个UIImages(A,B,C,D),每个都是相同的500x500

如何将它们组合成这样的网格1000x1000:

AB
CD

所以我有一个单独的UIImage“E”

3 个答案:

答案 0 :(得分:10)

您必须使用最终图像的大小创建新的图像上下文:

UIGraphics.BeginImageContext(new SizeF(1000, 1000));

然后,在适当的矩形中绘制每个图像:

image.Draw(new RectangleF(0,0,image.Size.Width,image.Size.Height));
//image2.Draw...

然后你得到图像:

UIImage finalImage = UIGraphics.GetImageFromCurrentImageContext();

最后,你必须结束图像上下文:

UIGraphics.EndImageContext();

答案 1 :(得分:0)

我不知道如何但我确实知道Apple的PhotoScroller sample code可能有帮助吗?这是一个非常酷的技巧,它们也可能对你有用。让我知道。

答案 2 :(得分:0)

请记住,您不能在子线程中使用UIGrahpics.BeginImageContext(),它必须是主线程。如果你想在子线程中执行它,你必须使用CGBitmapContext(),这有点难以处理。