Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 24384|Отговор: 1

[Източник] Байт[], изображение, битмап

[Копирай линк]
Публикувано в 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. }  
Копирай код






Предишен:Алгоритъм за компресия на изображения в C#
Следващ:Когато сайтът прави SEO външни връзки, той може да се използва с хостинг на сайтове за E-star endorsement
 Хазяин| Публикувано в 3.11.2017 г. 14:19:50 ч. |
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com