国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

在C#中將.bmp轉為.jpg格式的函數

2024-07-21 02:26:30
字體:
來源:轉載
供稿:網友

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; 
                       } 
           } 
 
--------------------------------------------------------------- 
 
最簡單的方式應該是: 
bitmap  image  =  new  bitmap("your  image  path.bmp"); 
image.save("new  jpg  file  path",  imageformat.jpg); 
 
注意:別忘了引入名稱空間。 
 
另外,jpg的壓縮率相對于相同內容大小精度的bmp來說也是不同的,總之很大就是了。尤其是簡單的圖形壓縮率很好。 
--------------------------------------------------------------- 
 
imageformat  類(在命名空間  system.drawing.imaging  下),就可以實現bmp、gif、icon、jpeg、png、tiff、wmf等常見圖象格式之間的轉化了。 
打開需要轉換的文件,存放在一個變量中 
bitmap.save(filename,  imageformat.jpg);

 

  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 同江市| 本溪| 巴南区| 古田县| 油尖旺区| 龙门县| 页游| 威海市| 晋江市| 安新县| 张家口市| 阜南县| 南投市| 瑞昌市| 扎赉特旗| 石柱| 阿城市| 大余县| 碌曲县| 沂南县| 枣强县| 磐石市| 沁阳市| 讷河市| 淮安市| 桦甸市| 蒙城县| 绍兴县| 遵义市| 岢岚县| 兴城市| 那坡县| 瓮安县| 丰宁| 建昌县| 玉门市| 密山市| 乳源| 西藏| 方城县| 泸溪县|