首页 > 解决方案 > 从 ImageView 中获取 Image 并将其转换为 system.Drawing 的 Bitmap

问题描述

我想将 ImageView 中的 Image 转换为 System.Drawing 的位图以在代码或函数中使用它接受 system.Drawing 的位图而不是 Android.Graphics 的位图。

标签: c#xamarin

解决方案


我猜你想像 Bitmap 一样使用 ImageView 的 Source

认为:

ImageView的来源是filepath1,其中filepath1是代表jpg文件的文件路径字符串。

然后你可以试试下面的代码:

if (file != null)
        {
            byte[] imageBytes;
            var FileImage = new Image();

            string base64;
            using (var fs = new FileStream(file.FilePath, FileMode.Open, FileAccess.Read))
            {
                var buffer = new byte[fs.Length];
                fs.Read(buffer, 0, (int)fs.Length);
                base64 = Convert.ToBase64String(buffer);
            }

            imageBytes = Convert.FromBase64String(base64); 
            File.WriteAllBytes(filename, imageBytes);
            var bitmap = new Image { Source = filename};

            imgViewer2.Source = bitmap.Source;

推荐阅读