Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 21852|Válasz: 1

[Forrás] C# képtömörítő algoritmus

[Linket másol]
Közzétéve 2015. 11. 23. 19:31:40 | | |
  1. /// <summary>
  2.     /// 壓縮圖片 /// </summary>
  3.     /// <param name="fileStream">圖片流</param>
  4.     /// <param name="quality">壓縮質量0-100之間 數值越大質量越高</param>
  5.     /// <returns></returns>
  6.     private byte[] CompressionImage(Stream fileStream, long quality) {
  7.         using (System.Drawing.Image img = System.Drawing.Image.FromStream(fileStream)) {
  8.             using (Bitmap bitmap = new Bitmap(img)) {
  9.                 ImageCodecInfo CodecInfo = GetEncoder(img.RawFormat);
  10.                 System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
  11.                 EncoderParameters myEncoderParameters = new EncoderParameters(1);
  12.                 EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality);
  13.                 myEncoderParameters.Param[0] = myEncoderParameter;
  14.                 using (MemoryStream ms = new MemoryStream()) {
  15.                     bitmap.Save(ms, CodecInfo, myEncoderParameters);
  16.                     myEncoderParameters.Dispose();
  17.                     myEncoderParameter.Dispose();
  18.                     return ms.ToArray();
  19.                 }
  20.             }
  21.         }
  22.     }
  23. 調用:CompressionImage(stream,0L)//最低質量 1M jpg圖大概能壓成180k左右
Kód másolása






Előző:A forrás- vagy sablonkép nem támogatott pixel formátuma
Következő:Byte[], Image, Bitmap
 Háziúr| Közzétéve 2015. 11. 24. 11:10:10 |
  1. private static ImageCodecInfo GetEncoder(ImageFormat format)
  2.         {
  3.             ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
  4.             foreach (ImageCodecInfo codec in codecs)
  5.             {
  6.                 if (codec.FormatID == format.Guid)
  7.                 { return codec; }
  8.             } return null;
  9.         }
Kód másolása


Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com