Android的Umap和UIImage的Bitmap。有没有办法在Xamarin Forms Image控件中以某种方式显示它?
显然我需要依赖服务。我将有两个使用某些源创建位图或uiimage的实现,但是如何将这两个产品组合到一个表单控件中? Android和iOS方法都必须返回一些东西,图像控件可以理解和显示。我不知道那可能是什么。
编辑:如果可能,我会寻找一种不使用存储空间的方式。
EDIT2:
我尝试了Jasons的建议并且工作正常。
我在Android项目中创建一个位图并返回一个MemoryStream对象:
MemoryStream stream = new MemoryStream();
newImage.Compress(Bitmap.CompressFormat.Png, 0, stream);
return stream;
然后我在我的Xamarin.Forms图像控件中使用它:
var stream = DependencyService.Get<ICrossPlatformImageProcesor>().Combine_Images(imagePath);
stream.Position = 0;
img_ImageView.Source = Xamarin.Forms.ImageSource.FromStream(() => stream);
答案 0 :(得分:0)
我将有两个使用某些源创建位图或uiimage的实现,但是如何将这两个产品组合到一个表单控件中?
您可以简单地使用Image Control xamarin表单,可以为每个平台专门加载图像,也可以下载它们以供显示。
有关详细信息,请参阅Working with Images。
如果可能的话,我会寻找一种不使用存储空间的方式。
我不太明白这一点,如果你的意思是不使用记忆,那么我认为这是不可能的。如果您的意思是您的图片未保存在存储空间中,那么您的图片可能还有互联网上的URL地址?
无论如何,Xamarin.Forms中的图像控件支持图像源格式ImageSource
实例,文件,Uri和资源,从uri加载图像,你可以简单地编码如下:
var webImage = new Image { Aspect = Aspect.AspectFit };
webImage.Source = ImageSource.FromUri(new Uri("https://xamarin.com/content/images/pages/forms/example-app.png"));