从 VB 转换为 C#:bitmap.save() 参数错误

Posted

技术标签:

【中文标题】从 VB 转换为 C#:bitmap.save() 参数错误【英文标题】:converting from VB to C#: bitmap.save() parameter error 【发布时间】:2014-06-03 22:33:13 【问题描述】:

我正在将一段代码转换为 c#,由于参数无效,在 bitmap.save() 处出现错误。转换后的代码是:

System.Drawing.Bitmap picture = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile(FilePath);
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(w1, h1);
System.Drawing.Graphics gr_dest = System.Drawing.Graphics.FromImage(bitmap);
gr_dest.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

gr_dest.DrawImage(picture, -x1, -y1, effective_width, effective_height);

System.IO.Stream output = new System.IO.MemoryStream();
System.Drawing.Imaging.EncoderParameters encoderParams = new System.Drawing.Imaging.EncoderParameters(1);
System.Drawing.Imaging.EncoderParameter encoderParam = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 96);
encoderParams.Param[0] = encoderParam;
System.Drawing.Imaging.ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
bitmap.Save(output, ici, encoderParams);

关于此方法为何失败的任何想法?

【问题讨论】:

【参考方案1】:

质量需要长期价值所以改变:

(System.Drawing.Imaging.Encoder.Quality, 96)

收件人:

(System.Drawing.Imaging.Encoder.Quality, 96L)

【讨论】:

以上是关于从 VB 转换为 C#:bitmap.save() 参数错误的主要内容,如果未能解决你的问题,请参考以下文章

从 C# 转换为 vb.net 后,它显示错误

C# Bitmap.Save 将图像作为路径保存到其他位置

在 C# 中实例化一个数组 - 从 VB 转换 [重复]

如何将公共事件从 c# 转换为 vb.net [关闭]

如何将 VB 项目转换为 C# 项目 [关闭]

尝试使用 COM-interop 从 C# 库中附加 vb6 中的对象时,获取“无法将 'Field' 转换为 'Field' 类型(同一类)”