希望损失尽可能少,因为我听过一个叫GuidoVollbeding的人提出的实现标准的gdi+似乎没有这种能力,到目前为止,我发现的只是规范或完全集成的工具。一个精简的、可插入的.net组件将是非常理想的。如果我自己实现了它,常见的陷阱是什么?
每一个想法和指导都是值得赞赏的!
编辑:我的目标是绕过一个明显的循环,将其解压缩为.NET位图,在那里调整大小,然后再次压缩。这个article似乎指向了正确的方向,但到目前为止,我从未见过任何.net实现
最佳答案
这很容易使用.NET位图类:
void ResizeImage(string inFname, string outFname, float scale)
{
Bitmap bmpOrig = new Bitmap(inFname);
int w = (int)(scale * bmpOrig.Width);
int h = (int)(scale * bmpOrig.Height);
Bitmap bmpNew = new Bitmap(bmpOrig, new Size(w, h));
bmpNew.Save(outFname, ImageFormat.Jpeg);
}
您需要添加对System.Drawing的引用,并在代码中同时使用System.Drawing和System.Drawing.Imaging:
我不能说会有多大的损失。