是否可以使用MonoTouch从CoreGraphics加载图像资源?
若然,怎么样?
我在MonoTouch框架中找不到任何可以让我这样做的东西。
仅供参考,我希望使用CoreGraphics,而不是使用CoreImage。我希望我的应用程序与iOS4 +兼容,因此任何以此为目的的方法都是可以接受的。
仅供参考,我已经拥有了我需要的资产对象。我只需将其转换为用户可以在屏幕上看到的内容。
答案 0 :(得分:1)
以下是如何使用CGImage
将.PNG加载到CGDataProvider
,然后从中初始化UIImage
(类似于之前关于CoreImage的问题)。< / p>
string file = Path.Combine (NSBundle.MainBundle.ResourcePath, "image.png");
using (var dp = new CGDataProvider (file))
using (var img = CGImage.FromPNG (dp, null, false, CGColorRenderingIntent.Default))
using (var ui = new UIImage (img, 1.0f, UIImageOrientation.Up)) {
Assert.IsNotNull (ui.CGImage, "CGImage");
}
如果您有JPEG图像(或根据您的URL文件扩展名自动调整),您可以使用FromJPEG
方法。