よく忘れるので、個人的メモです。
イメージを扱う際にバイト配列に変換したり、その逆を行ったりする際に利用します。
利用するクラスは
System.Drawing.ImageConverter
で、Imageオブジェクトからバイト配列に変換する場合は
ConvertToメソッド
バイト配列からImageオブジェクトに変換する場合は
ConvertFrom
を利用します。
以下、サンプルです。
#region ImageConverterSamples-01 /// <summary> /// ImageConverterクラスのサンプルです。 /// </summary> public class ImageConverterSamples01 : IExecutable { public void Execute() { // // Imageオブジェクトを取得. // Image image = Image.FromFile("database.png"); // // Imageをバイト配列に変換. // Imageから別のオブジェクトに変換する場合はConvertToを利用する. // ImageConverter converter = new ImageConverter(); byte[] imageBytes = (byte[]) converter.ConvertTo(image, typeof(byte[])); // // バイト配列をImageに変換. // バイト配列からImageオブジェクトに変換する場合はConvertFromを利用する. // Image image2 = (Image) converter.ConvertFrom(imageBytes); // 確認. Debug.Assert(image != null); Debug.Assert(imageBytes != null && imageBytes.Length > 0); Debug.Assert(image2 != null); // // [補足] // Imageオブジェクトをファイルとして保存する場合は以下のようにする. // //string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //string fileName = @"Sample.png"; //string filePath = Path.Combine(desktopPath, fileName); // //using (Stream stream = File.Create(filePath)) //{ // image.Save(filePath, System.Drawing.Imaging.ImageFormat.Png); //} } } #endregion
================================
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場