类似于Xamarin跨平台的9-patch解决方案

4

是否有一种方法可以在所有平台上使用类似于Android中的可伸缩图像(如9-patch)或iOS中的resizableImageWithCapInsets:edgeInsets

2个回答

1
在传统的Xamarin开发中,您需要处理平台本地图像功能。这些平台不共享任何图像格式,您也不希望处理平台无关的图像,因为本地类经过了内存和性能的优化。您将失去这些优化的每一个好处。
在Xamarin.Forms中,您需要寻找第三方库,例如NGraphics或NControl等...
请参阅这篇关于使用Xamarin.Forms处理图像的优秀文章。

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。


Forms9Patch是一个免费(MIT许可证)的库。 - baskren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接