Xamarin交叉平板9-patch样溶液

时间:2015-05-20 18:14:40

标签: xamarin

有没有办法在所有平台上使用可伸缩图像,如9-patch for android或 resizableImageWithCapInsets:edgeInsets for IOS?

2 个答案:

答案 0 :(得分:1)

在传统的Xamarin开发中,您需要处理平台本机映像功能。平台不共享任何图像格式,因为本机类针对内存和性能进行了优化,因此您无需处理图像平台无关。您将失去这些优化的所有好处。

在Xamarin.Forms中,您需要寻找像NGraphics或NControl这样的第三方库...

请参阅Xamarin.Forms中有关Working with Images的优秀文章。

答案 1 :(得分:1)

有一个付费图书馆http://forms9patch.com我自己使用它并且非常可靠

您可以以跨平台方式将任何图像转换为9patch:

var image2 = new Forms9Patch.Image () {
    Source = ImageSource.FromResource("MyDemoApp.Resources.Images.redribbon.png"),
    CapInsets = new Thickness(23, 0, 110, 0),
}

enter image description here

编辑:请注意,使用Forms9Patch.ImageSource不需要Forms9Patch许可证。所以你可以免费使用这个库使用Forms9Patch.ImageSource