生成缩略图的过程如下:
private static Image MakeThumb(Image iOriginal, int max)
        {
            if (iOriginal.Width < max && iOriginal.Height < max)
            {
                return iOriginal;
            }            int newWidth, newHeight;
            int newSideLength = Convert.ToInt32((iOriginal.Height / iOriginal.Width) * max);
            newWidth = iOriginal.Width > iOriginal.Height ? max : Convert.ToInt32((iOriginal.Width * max) / iOriginal.Height);
            newHeight = iOriginal.Height > iOriginal.Width ? max : Convert.ToInt32((iOriginal.Height * max) / iOriginal.Width);            Image iThumb = new Bitmap(newWidth, newHeight);
            Graphics g = Graphics.FromImage(iThumb);
            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            g.DrawImage(iOriginal, 0, 0, newWidth, newHeight);            return iThumb;
        }忘各位大侠帮忙。

解决方案 »

  1.   

    这是我做的一个类似于百科全书似的软件。主界面是个WebBrowser控件。想要显示的内容从数据库中提取后写到xml文件中,利用xsl转换后显示在WebBrowser控件。其中用到的图片不用太大,所以在保存数据时,用Graphics进行了图像的缩放,然后保存在指定位置。生成的图片居然无法显示在浏览器中,但看图软件中正常。不知何故啊
      

  2.   

            private static Image MakeThumb(Image iOriginal, int max)
            {
                if (iOriginal.Width < max && iOriginal.Height < max)
                {
                    return iOriginal;
                }            int newWidth, newHeight;
                int newSideLength = Convert.ToInt32((iOriginal.Height / iOriginal.Width) * max);
                newWidth = iOriginal.Width > iOriginal.Height ? max : Convert.ToInt32((iOriginal.Width * max) / iOriginal.Height);
                newHeight = iOriginal.Height > iOriginal.Width ? max : Convert.ToInt32((iOriginal.Height * max) / iOriginal.Width);            Image iThumb = new Bitmap(newWidth, newHeight);
                Graphics g = Graphics.FromImage(iThumb);
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                g.DrawImage(iOriginal, 0, 0, newWidth, newHeight);
     
                //换一种格式保存图片.BMP格式的图片要加文件头才能显示.   
                System.IO.MemoryStream ms=new System.IO.MemoryStream();
                iThumb.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                Image iThumb1 = Image.FromStream(ms);
                return iThumb1;
            }
      

  3.   

    谢谢xingyuebuyu兄,我也是这样解决的
     iThumb.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    声明一下存储格式就好了。结贴