ToBitmap() したものを PictureBox に渡してみると上下反転してる
this.imgCurrent.Origin = 1;
とかすればいいの?でも ReadOnly らしいのよね.
プロパティまたはインデクサ 'KwsmLab.OpenCvSharp.IplImage.Origin' は読み取り専用なので、割り当てることはできません。
GitHub - shimat/opencvsharp: .NET Framework wrapper for OpenCVDisplay IplImage in PictureBox
Bitmap bitmap = null; using(IplImage ipl = new IplImage("bar.png", LoadMode.Color)){ bitmap = ipl.ToBitmap(); } Form form = new Form(); form.Text = "Display IplImage in PictureBox"; form.ClientSize = bitmap.Size; PictureBox pictureBox = new PictureBox(); pictureBox.Dock = DockStyle.Fill; pictureBox.SizeMode = PictureBoxSizeMode.StretchImage; pictureBox.Image = bitmap; form.Controls.Add(pictureBox); form.ShowDialog();
private void refreshPicBoxPreview() { imgCurrent = this.capAvi.RetrieveFrame(); this.picBoxPreview.Image = imgCurrent.ToBitmap(); this.picBoxPreview.Image.RotateFlip(RotateFlipType.RotateNoneFlipY); }
04.画像を回転・反転する < PictureBox Tips < コントロール Tips メニュー < C# 2005 Tips HOME < HIRO's.NET04.画像を回転・反転する UPDATE:2006/10/18
PictureBoxのイメージを回転・反転するにはImage.RotateFlipメソッドを使用します。引数にはRotateFlipType列挙体を指定します。(たくさんのメンバがありますが、RotateNoneで始まるものが「回転しない」、それ以外が「回転する」と覚えておけば良いと思います。またXがついていれば水平方向に、Yがついていれば上下方向に反転します。)
RotateFlipType列挙体
メンバ名 説明 Rotate180FlipNone 反転せずに 180 度回転する。 Rotate180FlipX 180 度回転してから、水平方向に反転する Rotate180FlipXY 180 度回転してから、水平方向と垂直方向に反転する Rotate180FlipY 180 度回転してから、垂直方向に反転する Rotate270FlipNone 反転せずに 270 度回転する Rotate270FlipX 270 度回転してから、水平方向に反転する Rotate270FlipXY 270 度回転してから、水平方向と垂直方向に反転する Rotate270FlipY 270 度回転してから、垂直方向に反転する Rotate90FlipNone 反転せずに 90 度回転する Rotate90FlipX 90 度回転してから、水平方向に反転する Rotate90FlipXY 90 度回転してから、水平方向と垂直方向に反転する Rotate90FlipY 90 度回転してから、垂直方向に反転する RotateNoneFlipNone 回転も反転も行わない RotateNoneFlipX 回転せずに水平方向に反転する RotateNoneFlipXY 回転せずに水平方向と垂直方向に反転する RotateNoneFlipY 回転せずに垂直方向に反転する