c#缩小图片后不清晰,要怎么缩小才能跟原来一样清晰。我用:System.Drawing.Bitmap缩小的。

System.Drawing.ImageinitImage=newSystem.Drawing.Bitmap(image1,image1.Width-100,image1... System.Drawing.Image initImage = new System.Drawing.Bitmap(image1, image1.Width-100, image1.Height-100);这样缩小后会不清晰.要怎么写代码才能使缩小后也一样清晰. 展开
 我来答
百度网友e1b1222
2012-04-27 · TA获得超过955个赞
知道小有建树答主
回答量:470
采纳率:66%
帮助的人:329万
展开全部
正好之前有写过这个,不过是用的.net自带的api写的,如果想要弄的很好的话非常难,有兴趣可以看一下插值法,有若干种办法不一一列举。
/// <summary>
/// 获取缩小后的图片
/// </summary>
/// <param name="bm">要缩小的图片</param>
/// <param name="times">要缩小的倍数</param>
/// <returns></returns>
private Bitmap GetSmall(Bitmap bm, double times)
{
int nowWidth = (int)(bm.Width / times);
int nowHeight = (int)(bm.Height / times);
Bitmap newbm = new Bitmap(nowWidth, nowHeight);//新建一个放大后大小的图片

if (times >= 1 && times <= 1.1)
{
newbm = bm;
}
else
{
Graphics g = Graphics.FromImage(newbm);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.DrawImage(bm, new Rectangle(0, 0, nowWidth, nowHeight), new Rectangle(0, 0, bm.Width, bm.Height), GraphicsUnit.Pixel);
g.Dispose();
}
return newbm;
}
更多追问追答
追问
这个效果好了一点。但是我要再清晰点要怎么写阿。比你你说的插值发如何写?
追答
插值法是图像放大缩小的算法,包含若干种。如果仅是原理性的插值法计算效果和速度还不如直接api的方法,如果想要好的效果需要对算法进行优化,挺难的,如果你不是很了解这一块的话不建议你学这个,水很深的。就用api的就好了。
百度网友43e0f0a
2012-05-08 · 超过31用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:76.2万
展开全部
我觉得你的问题是改变了图片的比例,造成图片失真,我建议你采用等比缩放的方法来缩小比例,而不是简单的在长和宽上各减去100。
可以参考如下方法
public static void GetThumbSize(ref int width,ref int height, int limitWidth,int limitHeight)
{
int scaling = width / height;
if (width > limitWidth)
{
width = limitWidth;
height = width / scaling;
}
if (height > limitHeight)
{
height = limitHeight;
width = height * scaling;
}
}
获得合适的长宽后在做你想要的操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
信哥2013
2012-05-02
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
插值法计算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式