Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 24384|Respuesta: 1

[Fuente] Byte[], Imagen, mapa de bits

[Copiar enlace]
Publicado en 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. }  
Copiar código






Anterior:Algoritmo de compresión de imágenes en C#
Próximo:Cuando el sitio web realiza enlaces externos SEO, puede usarse con alojamientos de sitios web con respaldo de E-star
 Propietario| Publicado en 3/11/2017 14:19:50 |
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com