//设置高质量查值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
这个解决方案不行
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
这几个都改成最低。
最低?什么意思啊?有点不懂你的意思
@双子394: InterpolationMode.Low SmoothingMode.HighSpeed CompositingQuality.HighSpeed
@Launcher: 为什么要设为最低啊?解释一下呗
@双子394: 你现在测试下效果。
@Launcher: 不行,已经测了,没有清晰的效果
@双子394: 你这个“合成图片”具体是指什么?是说将图片 A 和图片 B 叠加在一起吗?
@Launcher: 已经解决了,谢谢你的耐心回复,你有时间能帮我看看今天提的那个字体样式的问题吗?
@WYan13: 解决了能说一下答案?
也不放你的代码, 反也就是SmoothingMode、CompositingQuality、InterpolationMode 这三个属性可控制质量。
请教了,帮忙看一下吧,多谢了,生成后的图片会比原图模糊点
Bitmap bm = new Bitmap(int.Parse(sRow["width"].ToString()), int.Parse(sRow["height"].ToString()));
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bm);
//清空画布以指定颜色填充
//g.Clear(Color.Orange);
g.Clear(ColorTranslator.FromHtml("#FFFFFF"));
//背景
Image bitBackground = Image.FromFile(TempimgPath + @"tempImg\1.jpg");
//logo
Image Logo = Image.FromFile(TempimgPath + @"tempImg\1.jpg");
//;
//图片
Image Img = Image.FromFile(TempimgPath + @"tempImg\1.jpg");
//背景
DataTable dtBackground=TemplateImageRules.GetAllByTemplateIDAndType(CreativeID,1,int.Parse(sRow["ID"].ToString()));
foreach (DataRow item in dtBackground.Rows)
{
if (item["strR1"].ToString() != "")
{
//g.Clear(Color.Orange);
g.Clear(ColorTranslator.FromHtml(item["strR1"].ToString()));
}
bitBackground = Image.FromFile(Server.MapPath("~\\ImageInfo\\" + item["strR2"].ToString()));
Rectangle rtan = new Rectangle(int.Parse(item["Xcoordinates"].ToString()), int.Parse(item["Ycoordinates"].ToString()), bitBackground.Width, bitBackground.Height);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.DrawImage(bitBackground, rtan);
}