Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 24384|Odgovoriti: 1

[Vir] bajt[], slika, bitna mapa

[Kopiraj povezavo]
Objavljeno na 24. 11. 2015 12:08:20 | | |
  1. //byte[] 转图片  
  2. public static Bitmap BytesToBitmap(byte[] Bytes)  
  3.         {  
  4.             MemoryStream stream = null;  
  5.             try  
  6.             {  
  7.                 stream = new MemoryStream(Bytes);  
  8.                 return new Bitmap((Image)new Bitmap(stream));  
  9.             }  
  10.             catch (ArgumentNullException ex)  
  11.             {  
  12.                 throw ex;  
  13.             }  
  14.             catch (ArgumentException ex)  
  15.             {  
  16.                 throw ex;  
  17.             }  
  18.             finally  
  19.             {  
  20.                 stream.Close();  
  21.             }  
  22.         }   
  23.   
  24. //图片转byte[]   
  25.         public static byte[] BitmapToBytes(Bitmap Bitmap)  
  26.         {  
  27.             MemoryStream ms = null;  
  28.             try  
  29.             {  
  30.                 ms = new MemoryStream();  
  31.                 Bitmap.Save(ms, Bitmap.RawFormat);  
  32.                 byte[] byteImage = new Byte[ms.Length];  
  33.                 byteImage = ms.ToArray();  
  34.                 return byteImage;  
  35.             }  
  36.             catch (ArgumentNullException ex)  
  37.             {  
  38.                 throw ex;  
  39.             }  
  40.             finally  
  41.             {  
  42.                 ms.Close();  
  43.             }  
  44.         }  
  45.     }  
  46.   
  47. =====================  
  48.   
  49. * Stream 和 byte[] 之间的转换  
  50. * - - - - - - - - - - - - - - - - - - - - - - - */  
  51. /// <summary>  
  52. /// 将 Stream 转成 byte[]  
  53. /// </summary>  
  54. public byte[] StreamToBytes(Stream stream)  
  55. {  
  56.     byte[] bytes = new byte[stream.Length];  
  57.     stream.Read(bytes, 0, bytes.Length);  
  58.   
  59.     // 设置当前流的位置为流的开始  
  60.     stream.Seek(0, SeekOrigin.Begin);  
  61.     return bytes;  
  62. }  
  63.   
  64. /// <summary>  
  65. /// 将 byte[] 转成 Stream  
  66. /// </summary>  
  67. public Stream BytesToStream(byte[] bytes)  
  68. {  
  69.     Stream stream = new MemoryStream(bytes);  
  70.     return stream;  
  71. }  
  72.   
  73.   
  74. /* - - - - - - - - - - - - - - - - - - - - - - - -  
  75. * Stream 和 文件之间的转换
  76. * - - - - - - - - - - - - - - - - - - - - - - - */  
  77. /// <summary>  
  78. /// 将 Stream 写入文件  
  79. /// </summary>  
  80. public void StreamToFile(Stream stream,string fileName)  
  81. {  
  82.     // 把 Stream 转换成 byte[]  
  83.     byte[] bytes = new byte[stream.Length];  
  84.     stream.Read(bytes, 0, bytes.Length);  
  85.     // 设置当前流的位置为流的开始  
  86.     stream.Seek(0, SeekOrigin.Begin);  
  87.   
  88.     // 把 byte[] 写入文件  
  89.     FileStream fs = new FileStream(fileName, FileMode.Create);  
  90.     BinaryWriter bw = new BinaryWriter(fs);  
  91.     bw.Write(bytes);  
  92.     bw.Close();  
  93.     fs.Close();  
  94. }  
  95.   
  96. /// <summary>  
  97. /// 从文件读取 Stream  
  98. /// </summary>  
  99. public Stream FileToStream(string fileName)  
  100. {              
  101.     // 打开文件  
  102.     FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);  
  103.     // 读取文件的 byte[]  
  104.     byte[] bytes = new byte[fileStream.Length];  
  105.     fileStream.Read(bytes, 0, bytes.Length);  
  106.     fileStream.Close();  
  107.     // 把 byte[] 转换成 Stream  
  108.     Stream stream = new MemoryStream(bytes);  
  109.     return stream;  
  110. }  
Kopiraj kodo






Prejšnji:Algoritem stiskanja slik v C#
Naslednji:Ko spletna stran izvaja SEO zunanje povezave, jo je mogoče uporabiti z gostitelji spletnih strani z E-star priporočili
 Najemodajalec| Objavljeno na 3. 11. 2017 14:19:50 |
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com