有没有办法在所有平台上使用可伸缩图像,如9-patch for android或 resizableImageWithCapInsets:edgeInsets for IOS?
答案 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),
}
编辑:请注意,使用Forms9Patch.ImageSource不需要Forms9Patch许可证。所以你可以免费使用这个库使用Forms9Patch.ImageSource