Xamarin.Forms中没有BitmapSource类,对应功能应使用什么替代?
Xamarin.Forms 对应 WPF BitmapSource 的实现方案
Xamarin.Forms 中不存在System.Windows.Media.Imaging命名空间,对应 WPF 中BitmapSource的位图处理能力,核心使用ImageSource类及其派生类实现:
- 普通位图加载场景直接调用
ImageSource的静态工厂方法即可覆盖绝大多数需求:- 从内存流加载:
ImageSource.FromStream(() => 你的流对象),对应 WPF 中从流构造 BitmapSource 的场景 - 从网络/本地 URI 加载:
ImageSource.FromUri(new Uri("图片地址")),对应 WPF 中用 URI 构造 BitmapSource 的场景 - 从设备本地文件加载:
ImageSource.FromFile("本地文件完整路径") - 从项目内嵌资源加载:
ImageSource.FromResource("资源的完整命名空间路径")
- 从内存流加载:
- 如果需要实现像素级读写、格式转换、位图裁剪缩放等进阶操作,对应 BitmapSource 的可编辑特性,可使用 SkiaSharp 提供的
SKBitmap类,引入SkiaSharp.Views.Forms包即可使用,处理完成的SKBitmap可以直接转换为 Xamarin.Forms 可用的ImageSource绑定到界面 Image 控件。
内容的提问来源于stack exchange,提问作者Burak Adıgüzel
相关产品推荐
相关产品推荐

