MonoTouch的:将4-图像转换成1(的UIImage)

问题描述:

我有4个UIImages(A,B,C,d),每个所述相同的500×500MonoTouch的:将4-图像转换成1(的UIImage)

如何可以将它们合并成格子1000×1000这样的:

AB 
CD 

从而使我有一个UIImage的“E”

你必须创建在最终图像的大小的新图像内容:

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(); 
+0

这是一个非常好的答案,构造得非常好。 – 2011-02-03 05:14:13

我不知道具体怎么样,但我知道,苹果的PhotoScroller sample code可能帮助?这是一个非常酷的技巧,他们也可以为你的工作。让我知道。

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