你可以在FAQ中找到:
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=11392
  
 public  class  Bmp2Jpeg  
           {  
                       private  long  lQuality=50L;  
                       private  ImageCodecInfo  myImageCodecInfo;  
                       private            EncoderParameters  myEncoderParameters;  
                       public  Bmp2Jpeg(long  Quality)  
                       {  
                                   lQuality=Quality;  
                                   Ini();  
                       }  
                       private  void  Ini()  
                       {  
                                   System.Drawing.Imaging.Encoder  myEncoder;  
                                   EncoderParameter  myEncoderParameter;  
                                   myImageCodecInfo  =  GetEncoderInfo(  "image/jpeg  ");  
                                   myEncoder  =  System.Drawing.Imaging.Encoder.Quality;  
                                   myEncoderParameters  =  new  EncoderParameters(1);  
                                   myEncoderParameter  =  new  EncoderParameter(myEncoder,lQuality);  
                                   myEncoderParameters.Param[0]  =  myEncoderParameter;  
                       }  
                       public  Bmp2Jpeg()  
                       {  
                                   Ini();  
                       }  
                       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;  
                       }  
                       public  byte[]  BmpToJpegBuff(Bitmap  bmpSrc)  
                       {  
                                   MemoryStream  msjpg=new  MemoryStream();  
                                   bmpSrc.Save(msjpg,  myImageCodecInfo,  myEncoderParameters);  
                                   byte[]  bjpeg=msjpg.ToArray();  
                                     
                                   return  bjpeg;  
 
                       }  
                       public  byte[]  BmpToJpegBuff(byte[]  bmpSrc)  
                       {  
                                   MemoryStream  ms=new  MemoryStream(bmpSrc);  
                                   MemoryStream  msjpg=new  MemoryStream();  
                                   Bitmap  myBitmap  =  new  Bitmap(ms,false);  
                                   //myBitmap.Save(  "c:\\temp\\  "+i.ToString()+  ".jpg  ",  myImageCodecInfo,  myEncoderParameters);  
                                   myBitmap.Save(msjpg,  myImageCodecInfo,  myEncoderParameters);  
                                   byte[]  bjpeg=msjpg.ToArray();  
                                     
                                   return  bjpeg;  
                       }  
                       public  Stream  BmpToJpegStream(byte[]  bmpSrc)  
                       {  
                                   MemoryStream  ms=new  MemoryStream(bmpSrc);  
                                   MemoryStream  msjpg=new  MemoryStream();  
                                   Bitmap  myBitmap  =  new  Bitmap(ms,false);  
                                   //myBitmap.Save(  "c:\\temp\\  "+i.ToString()+  ".jpg  ",  myImageCodecInfo,  myEncoderParameters);  
                                   myBitmap.Save(msjpg,  myImageCodecInfo,  myEncoderParameters);  
                                   return  msjpg;  
                       }  
                       public  bool  BmpToJpegFile(byte[]  bmpSrc,string  filename)  
                       {  
                                   MemoryStream  ms=new  MemoryStream(bmpSrc);  
                                   Bitmap  myBitmap=new  Bitmap(ms,false);  
                                   myBitmap.Save(filename,myImageCodecInfo,myEncoderParameters);  
                                   return  true;  
                       }  
                       public  bool  BmpToJpegFile1(Bitmap  bmpSrc,string  filename)  
                       {  
                                   bmpSrc.Save(filename,myImageCodecInfo,myEncoderParameters);  
                                   return  true;  
                       }  
           }  
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=11392