/// <summary> /// 画像読み込み /// </summary> /// <param name="filename"></param> /// <returns></returns> private Bitmap createBitmapFromFile(string filename) { using (System.IO.FileStream fs = new System.IO.FileStream( filename, System.IO.FileMode.Open, System.IO.FileAccess.Read)) { try { return(new Bitmap(Image.FromStream(fs))); } catch (Exception) { return(PNM.FromFile(filename)); } } }
/// <summary> /// パラメータの初期化 /// </summary> private void reloadPictureBox(string filename) { Bitmap bitmap = createBitmapFromFile(filename); if (bitmap == null) { string errorMessage = string.Empty; switch (PNM.GetLastError()) { case PNM.ConvertResult.InvalidFormat: errorMessage = "無効なフォーマットです."; break; case PNM.ConvertResult.Over70CharsPerLine: errorMessage = "1 行が 70 文字を超えています."; break; case PNM.ConvertResult.NotSupportedFormat: errorMessage = "未対応のフォーマットです."; break; default: return; } MessageBox.Show(errorMessage, Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (_bitmap != null) { _bitmap.Dispose(); _bitmap = null; } _bitmap = bitmap; pictureBoxMain.Image = bitmap; fitFormSize(); toolStripMenuItemSave.Enabled = true; }