怎么用程序缩小图片的长宽,而且又不太影响图片的清晰度??

解决方案 »

  1.   

    System.Drawing.Image thumbnailImage = oldImage.GetThumbnailImage(newWidth, newHeight, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
    System.Drawing.Bitmap bm = new System.Drawing.Bitmap(thumbnailImage);//处理JPG质量的函数
    System.Drawing.Imaging.ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
    if (ici != null)
    {
      System.Drawing.Imaging.EncoderParameters ep = new System.Drawing.Imaging.EncoderParameters(1);
      ep.Param[0] = new System.Drawing.Imaging.EncoderParameter(Encoder.Quality, (long)100);
      bm.Save("path.jpg", ici, ep);  //释放所有资源,不释放,可能会出错误。
      ep.Dispose();
      ep = null;
    }
    private static bool ThumbnailCallback( )
      {
        return false;
      }
      

  2.   

    private static ImageCodecInfo GetEncoderInfo( String mimeType )
      {
        int j;
        ImageCodecInfo[] encoders;
        encoders = ImageCodecInfo.GetImageEncoders();
        for (j = 0 ; j < encoders.Length ; ++j)
        {
          if (encoders[j].MimeType == mimeType)
            return encoders[j];
        }
        return null;
      }
      

  3.   

    picturebox控件,acdsee控件,图片控件;
    用C#开发的图片控件,功能类似acdsee;
    支持各种图片的浏览,放大,缩小,平移等功能;
    源代码参考:http://shop.paipai.com/359073000