问题描述
我正在尝试将 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