设置首页收藏本站
开启左侧

c#中保存cogRecordDisplay中的图片

[复制链接]
公达颂鲸止 发表于 2018-8-28 13:31:24 | 显示全部楼层 |阅读模式
看到论坛里有这个帖子,但是要收币看不了,于是自己研究了一下。希望大家开源{:1_361:}


其实cogRecordDisplay工具是自带图像转换方法的,用bitmap接受一下这个图像,再保存一下就好了。如下:

Bitmap mBitmap=new Bitmap(cogRecordDisplay1.Image.ToBitmap());//cogRecordDisplay1即窗体中显示图片的控件
mBitmap.Save(@"C:\temp\1.jpg",ImageFormat.Bmp); //也可以保存成 ImageFormat.Jpeg格式,会压缩,体积小一点


但是这种方法保存的Bmp图片在VPP中不能直接处理,需要使用CogImageConvertTool将其转换成类似Cog8grey这种类型的才能处理。
这时可以使用cogImageFile 方式保存,我写了个方法:

//image参数即要保存的图片,path是保存的路径。
public string SaveImage(ICogImage image, string path)
        {
            if (image == null)
            {
                return "NoImage";
            }
            string imagePath = path + "\\" +"1.bmp";
            if (!System.IO.Directory.Exists(path))
            {
                System.IO.Directory.CreateDirectory(path);
            }


            CogImageFile cogImageFile = new CogImageFile();
            //打开一个图像文件。
            cogImageFile.Open(imagePath, CogImageFileModeConstants.Write);
            //将图像添加到文件的末尾。
            cogImageFile.Append(image);
            //关闭一个打开的图像文件。
            cogImageFile.Close();


            return imagePath;
        }





引用的命名空间:
using Cognex.VisionPro.ImageFile;
using Cognex.VisionPro;


程序集:

Cognex.VisionPro.dll
Cognex.VisionPro.Core.dll
Cognex.VisionPro.ImageFile.dll





调用示例:  SaveImage(cogRecordDisplay1.Image, @"C:\temp\");




奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
ai13911 发表于 2019-1-16 09:43:55 | 显示全部楼层
楼主你好!我在VS中调用cogRecordDisplay,报错上下文不存在,请赐教
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| 公达颂鲸止 发表于 2019-1-17 16:12:47 | 显示全部楼层
ai13911 发表于 2019-1-16 09:43
楼主你好!我在VS中调用cogRecordDisplay,报错上下文不存在,请赐教

cogRecordDisplay是康耐视的一个图像显示控件,你需要先声明引用才有。这个调用示例只是为了传入一个ICogImage参数
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表