在.net中使用GDI+来提高gif图片的保存画质,这就是“Octree“ 算法。“Octree“ 算法允许我们插入自己的算法来量子化我们的图像。

    使用octreequantizer很方便:

隐藏行号 复制代码 代码
  1.  system.drawing.bitmap b = new System.Drawing.Bitmap("c:\original_image.gif");  
    
  2. System.Drawing.Image thmbnail = b.GetThumbnailImage(100,75,null,new IntPtr()); 
    
  3. OctreeQuantizer quantizer = new OctreeQuantizer ( 255 , 8 ) ; 
    
  4. using ( Bitmap quantized = quantizer.Quantize ( thmbnail ) ) 
    
  5. { 
    
  6.      quantized.Save("c:\thumnail.gif", System.Drawing.Imaging.ImageFormat.Gif); 
    
  7. } 
    
  8. octreequantizer grayquantizer = new GrayscaleQuantizer ( ) ; 
    
  9. using ( Bitmap quantized = grayquantizer.Quantize ( thmbnail ) ) 
    
  10. { 
    
  11.      quantized.Save("c:\thumnail.gif", System.Drawing.Imaging.ImageFormat.Gif); 
    
  12. }