Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 24384|Απάντηση: 1

[Πηγή] Byte[], Εικόνα, Bitmap

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 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
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 3/11/2017 2:19:50 μ.μ. |
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com