1

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

如何将它们组合成一个 1000x1000 的网格,如下所示:

AB
CD

这样我就有一个 UIImage "E"

4

3 回答 3

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();
于 2011-02-02T08:46:48.233 回答
0

我不知道具体怎么做,但我知道 Apple 的PhotoScroller 示例代码可能会有所帮助?他们有一个很酷的技巧,可能也适用于你的。让我知道。

于 2011-02-02T06:46:10.853 回答
0

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

于 2011-04-04T20:17:52.003 回答