日期:2014-05-17  浏览次数:20603 次

300份,寻求生成网页缩略图代码
自己手里有一个,不太稳定。

------解决方案--------------------
http://download.csdn.net/down/682252/yulinghua
这个呢
------解决方案--------------------
来接分。
------解决方案--------------------
C# code

 private void CreateThumbnail(string sFileSrcPath, string sFileDstPath, int iSizeLimit)
    {
        if (File.Exists(sFileSrcPath))
        {
            System.Drawing.Image image = System.Drawing.Image.FromFile(sFileSrcPath) as System.Drawing.Bitmap;

            System.Drawing.SizeF size = new System.Drawing.SizeF(image.Width, image.Height);

            while (size.Width > iSizeLimit || size.Height > iSizeLimit)
            {
                size.Height /= 1.1F;

                size.Width /= 1.1F;
            }

            System.Drawing.Image bitmap = new System.Drawing.Bitmap(Convert.ToInt16(size.Width), Convert.ToInt16(size.Height));

            System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);

            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

            g.Clear(Color.Transparent);

            Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height);

            g.DrawImage(image, rect, new System.Drawing.Rectangle(0, 0, image.Width, image.Height), System.Drawing.GraphicsUnit.Pixel);

            ImageCodecInfo myImageCodecInfo;

            Encoder myEncoder;

            EncoderParameter myEncoderParameter;

            EncoderParameters myEncoderParameters;

            myImageCodecInfo = ImageCodecInfo.GetImageEncoders()[0];

            myEncoder = Encoder.Quality;

            myEncoderParameters = new EncoderParameters(1);

            myEncoderParameter = new EncoderParameter(myEncoder, 100L); 

            myEncoderParameters.Param[0] = myEncoderParameter;

            bitmap.Save(sFileDstPath, myImageCodecInfo, myEncoderParameters);

            myEncoderParameter.Dispose();

            myEncoderParameters.Dispose();

            image.Dispose();

            bitmap.Dispose();

            g.Dispose();
        }
    }

------解决方案--------------------
mark
------解决方案--------------------
mark
------解决方案--------------------
顶!
------解决方案--------------------
帮顶
------解决方案--------------------
自己修改修改啊。修改 好别忘了开源
------解决方案--------------------
生成高质量缩略图通用函数
C# code
/// <summary>

        /// 生成缩略图
        /// </summary>
        /// <param name=""originalImagePath"">源图路径(物理路径)</param>
        /// <param name=""thumbnailPath"">缩略图路径(物理路径)</param>
        /// <param name=""width"">缩略图宽度</param>
        /// <param name=""height"">缩略图高度</param>
        /// <param name=""mode"">生成缩略图的方式</param>    
        public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
        {
            Image originalImage = Image.FromFile(originalImagePath);
            
            int towidth = width;
            int toheight = height;
        
            int x = 0;
            int y = 0;
            int ow = originalImage.Width;
            int oh = originalImage.Height;        

            switch (mode)
            {        
                case ""HW""://指定高宽缩放(可能变形)                
                    break;
                case ""W""://指定宽,高按比例                    
                    toheight = originalImage.Height * width/originalImage.Width;
                    break;
                case ""H""://指定高,宽