表示しているグラフィックと画像をビットマップ保存する

表示しているグラフィックと画像をビットマップ保存するには、CogDisplay の CreateBitmapContent を使います。コード例を示します。

VB.NET

PictureBox1.Image = CogDisplay1.CreateContentBitmap(Display.CogDisplayContentBitmapConstants.Image)
PictureBox1.Image.Save(“test.bmp”, System.Drawing.Imaging.ImageFormat.Bmp)

C#

pictureBox1.Image = cogDisplay1.CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Image, null, 0);
pictureBox1.Image.Save(“test.bmp”, System.Drawing.Imaging.ImageFormat.Bmp);

32ビットカラー画像で保存するので、24ビットカラーに変換する場合は、次のようなコードを書きます。

VB.NET

Dim aImg As Image
aImg = CogDisplay1.CreateContentBitmap(Display.CogDisplayContentBitmapConstants.Image)
Dim aBM As Bitmap
aBM = aImg
Dim aRct As RectangleF
aRct = New RectangleF(0, 0, aBM.Width, aBM.Height)
Dim aBM2 As Bitmap
aBM2 = aBM.Clone(aRct, Imaging.PixelFormat.Format24bppRgb)
aBM2.Save(“test_rgb24.bmp”, System.Drawing.Imaging.ImageFormat.Bmp)

C#

Image aImg = cogDisplay1.CreateContentBitmap(CogDisplayContentBitmapConstants.Display, null, 0);
Bitmap aBM = aImg as Bitmap;
Bitmap aBM2 = aBM.Clone(new RectangleF(0, 0, aBM.Width, aBM.Height), PixelFormat.Format24bbpRgb);
using (FileStream fs = new FileStream(“C:/cr37683.bmp”, System.IO.FileMode.Create)) aBM2.Save(fs, ImageFormat.Bmp);

製品:VisionPro

動作確認バージョン:4.2

言語:VB.NETC#、VS2005

disp_save.zip