C#

C#メモ

Dispose

[雑記] Dispose にまつわる余談

【 @ 】

verbatim文字列

 最後に、ファイルのパスなどを記述するときに便利な文字列を紹介しておく。これは文字列定数の前に“@(アットマーク)”を付けたもので、「verbatim文字列」と呼ばれる文字列である(「verbatim」は「一字一句変えずに」という意味。“バーベイタム”と発音するらしいが、難しいのでよく英語のまま表記されている)。verbatim文字列の中では、通常の文字列で使用される「\n」、「\t」などのエスケープ・シーケンスが処理されない。このためパスの区切りを示す「\」をそのまま文字列中に記述することできる。

参考:文字列処理に関するヒント

【 $ 】

参考:C#で{0}を使って文字列に変数を埋め込む方法|文字列の結合方法など紹介

PictruBox

表示した画像をディスプレイ枠外まで移動させ、ディスプレイ内に戻すと画像が消える

参考:PictureBox上で消える画像&描画・消えない画像&描画

                Bitmap viewBitmap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(matMat);
#if DEBUG
                viewBitmap.Save(Const.Constants.WorkDir + @"\SlamViewWait.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
#endif
                this.pctBoxSetting.Image = viewBitmap;
                Graphics graphics = Graphics.FromImage(this.pctBoxSetting.Image);
                graphics.DrawImage(viewBitmap, 0, 0, this.pctBoxSetting.Width, this.pctBoxSetting.Height);
                matMat.Dispose();


                /* 表示している画像のウィンドウをディスプレイ表示枠の外に移動し、戻すと画像が消える
                Graphics graphics = this.pctBoxSetting.CreateGraphics();
                graphics.DrawImage(viewBitmap, 0, 0, this.pctBoxSetting.Width, this.pctBoxSetting.Height);
                matMat.Dispose();
                */
                /* ファイルを開き画像を表示中に、そのファイルに保存しようとするとロックが掛かりエラーが発生する
                Debug.WriteLine("PictureBox SizeMode=" + this.pctBoxSetting.SizeMode);
                //画像の大きさをPictureBoxに自動修正
                this.pctBoxSetting.SizeMode = PictureBoxSizeMode.StretchImage;
                //画像を表示する
                this.pctBoxSetting.Image = System.Drawing.Image.FromFile(Const.Constants.WorkDir + @"\SlamViewWait.jpg");
                Debug.WriteLine("PictureBox SizeMode=" + this.pctBoxSetting.SizeMode);
                */

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Inkscapeインストール

2022年6月23日