在控制台应用程序中将位图的 Java 代码转换为 C# 代码

问题描述

我正在尝试将 Java 代码转换为 C# 所以这里是Java代码

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 1;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap decodeStream = BitmapFactory.decodeStream(openInputStream,null,options);

然后我将这个位图保存在

File appDirectory= Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File dest = new File(appDirectory,"yourImage.jpg");


    try (FileOutputStream out = new FileOutputStream(dest)) {
        decodeStream.compress(Bitmap.CompressFormat.JPEG,100,out); // bmp is your Bitmap instance
        
    } catch (IOException e) {
        e.printstacktrace();
    }

现在谁能帮我把这段代码转换成c#。我试图导入 Xamrine Android DLL 但很快就成功了。 我是

解决方法

据我所知,您只需要加载简单的 jpg 图像。这就是你所有的 Java 代码。

如果你想从流中加载 jpg 图像,你可以使用

PropertiesWithJavaConfig

例如

Bitmap.FromStream()

当然,您也可以在没有流的情况下打开图像。

using (FileStream fs = new FileStream(@"Image Address.jpg",FileMode.Open,FileAccess.Read))
{
    var decodeStream = Bitmap.FromStream(fs);
}

所以你的代码将是这样的

var image = Bitmap.FromFile(@"Image Address.jpg");

您无法立即访问 Bitmap 类。

对于 dot net core 安装包 System.Drawing.Common。

对于点网框架,添加对 System.Drawing 的引用。

对于 Xamarin,请参阅此答案 https://stackoverflow.com/a/34869330/5964792