从MonoTouch中的CoreGraphics加载图像资源

时间:2013-01-22 18:04:16

标签: ios ios4 xamarin.ios core-graphics

是否可以使用MonoTouch从CoreGraphics加载图像资源?

若然,怎么样?

我在MonoTouch框架中找不到任何可以让我这样做的东西。

仅供参考,我希望使用CoreGraphics,而不是使用CoreImage。我希望我的应用程序与iOS4 +兼容,因此任何以此为目的的方法都是可以接受的。

仅供参考,我已经拥有了我需要的资产对象。我只需将其转换为用户可以在屏幕上看到的内容。

1 个答案:

答案 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方法。