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();
答
请记住,您不能在子线程中使用UIGrahpics.BeginImageContext(),它必须是主线程。如果你想在子线程中使用它,你必须使用CGBitmapContext(),这有点难以处理。
这是一个非常好的答案,构造得非常好。 – 2011-02-03 05:14:13