云计算百科
云计算领域专业知识百科平台

C# 关于联合编程基础

联合编程


一,setting数据存储方式

1,持久化存储方式:

json格式存储{"age":10} 、

file文件存储方式(File 、StreamReader)

二进制存储方式

csv存储格式   姓名,年龄

                       张三   , 10

Setting存储方式(ini存储格式)[net]

                                                            IP = 127.0.0.1

                                                             port=8080

                                                    [data]

                                                               余伟 =20

xml存储方式

数据库存储方式

内存存储: 数据类型存储方式 数组、字典、集合等


2,,打开页面–>点击Settings.settings

接着在winform中添加如下控件

在存储按钮下写下如下代码:

存储数据

 private void button1_Click(object sender, EventArgs e)
 {
    Settings set = Settings.Default;// 获取配置对象
     set.name = textBox1.Text; // 给setting配置表中对应属性进行赋值
     set.age = int.Parse( textBox2.Text);
     set.weight = float.Parse( textBox3.Text);
     set.sex = bool.Parse(textBox4.Text);
     set.Save();// 保存更改
 }

读取数据:

 private void button2_Click(object sender, EventArgs e)
 {
     Settings settings = Settings.Default;
     string name = settings.name;// 获取配置表数据
     int age = settings.age;
     float weight = settings.weight;
     bool  sex = settings.sex;
     richTextBox1.Text = name+"\\n"+age+"\\n"+weight+"\\n"+sex;

 }


二,ini文件存储和读取

1,先在桌面创建一个txt文档,后缀名改为ini格式,编码改成ANSI格式

2,在winform界面设置如下控件

3,在读取按钮下写如下代码

 private void button1_Click(object sender, EventArgs e)
 {

     //1 获取所有的节点名称
     //string[] s1 =  IniAPI.INIGetAllSectionNames(@"C:\\Users\\Administrator\\Desktop\\3.ini");
     //foreach (string item in s1)
     //{
     //    richTextBox1.Text += item + "\\n";
     //}

     //2 获取所有的items
     //string[] s1 = IniAPI.INIGetAllItems(@"C:\\Users\\Administrator\\Desktop\\3.ini","net");
     //foreach (string item in s1)
     //{
     //    richTextBox1.Text += item + "\\n";
     //}

     //3 获取对应节点的键的值 (重要)
     string s1 = IniAPI.INIGetStringValue(@"C:\\Users\\Administrator\\Desktop\\3.ini", "data","花生","");
     // richTextBox1.Text += s1 + "\\n";

     // 4 获取对应节点的键的值(整型)
     int a1 =  IniAPI.GetPrivateProfileInt(@"C:\\Users\\Administrator\\Desktop\\3.ini", "data", "红豆", 0);
     richTextBox1.Text += a1 + "\\n";
 }

4,在写入按钮下写如下代码

 private void button2_Click(object sender, EventArgs e)
 {
     //1 写入指定节点指定的键 (重点)
     IniAPI.INIWriteValue(@"C:\\Users\\Administrator\\Desktop\\3.ini", "data", "黄豆", "10");

     //2 删除节点
     //IniAPI.INIDeleteSection(@"C:\\Users\\Administrator\\Desktop\\3.ini", "data");

     //3 删除键
     //IniAPI.INIDeleteKey(@"C:\\Users\\Administrator\\Desktop\\3.ini", "net", "port");

 }


三,图片的读写操作

1,使用CogImageFileTool 进行读取图片

2,cogRecordDisplay1 展示记录的 也可以展示图片

3,在winform添加如下控件

在按钮1下输入:

 private void button1_Click(object sender, EventArgs e)
 {
     //1 创建CogImageFileTool工具
     CogImageFileTool fileTool = new CogImageFileTool(); 
     OpenFileDialog dia = new OpenFileDialog(); // 文件对话框
     dia.Filter = "All Image Files| *.jpg; *.png; *.jpeg; *.ico; *.tif; *.tiff; *.idb; *.bmp";
     dia.Title = "请选择文件";
     if (dia.ShowDialog()==DialogResult.OK)
     {
         // 可以获取选择文件路径
         // fileTool.Operator.Open 打开fileTool工具
         //参数1  路径
         //参数2  读取fileTool工具
         //2 使用fileTool工具读取图片
         fileTool.Operator.Open(dia.FileName,CogImageFileModeConstants.Read);
         //3 运行工具
         fileTool.Run();

         //4 获取输出图 展示
         cogRecordDisplay1.Image=fileTool.OutputImage;

         //5 自适应大小
         cogRecordDisplay1.Fit();

        
     }

在按钮2下输入:

  private void button2_Click(object sender, EventArgs e)
  { 
         CogImageFileTool fileTool = new CogImageFileTool();

        // 保存控件展示的图片
        // 把控件图片赋值给工具的输入图参数中
        fileTool.InputImage = cogRecordDisplay1.Image;

          // fileTool.Operator.Open 打开fileTool工具
          //参数1  路径
          //参数2  写入fileTool工具
          //2 使用fileTool工具写入图片
          fileTool.Operator.Open(@"1.png", CogImageFileModeConstants.Write);
          //3 运行工具
          fileTool.Run();

          //4 获取输出图 展示
         // cogRecordDisplay1.Image = fileTool.OutputImage;
          //5 自适应大小
          //5 自适应大小
          //cogRecordDisplay1.Fit();   

  }
 

在按钮3下输入:

   private void button3_Click(object sender, EventArgs e)
   {
       OpenFileDialog dia = new OpenFileDialog(); // 文件对话框
       dia.Filter = "All Image Files| *.jpg; *.png; *.jpeg; *.ico; *.tif; *.tiff; *.idb; *.bmp";
       dia.Title = "请选择文件";
       if (dia.ShowDialog() == DialogResult.OK)
       {
           Bitmap bit =  Image.FromFile(dia.FileName) as Bitmap; //读取本地图片转成位图
          // CogImage8Grey image = new CogImage8Grey(bit); //转成8位的灰图
           CogImage24PlanarColor image = new CogImage24PlanarColor(bit);//把图片转成彩图
           cogRecordDisplay1.Image = image; //展示图片
           cogRecordDisplay1.Fit();
       }

   }

在按钮4下输入:

  //使用位图进行写入保存
  private void button4_Click(object sender, EventArgs e)
  {
      string path =   Directory.GetCurrentDirectory()+"\\\\data";
      if (!Directory.Exists(path))    
      {
          Directory.CreateDirectory(path);
      }
      //CreateContentBitmap 创建位图内容
      //参数1 Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Image 仅仅把图片转成位图了
      Bitmap map = cogRecordDisplay1.CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Image) as Bitmap;
      map.Save(path + $"\\\\{DateTime.Now:yyyyMMddhhmmss}.png");

  }


四, 加载单个PMA工具

1,先在winform界面加入以下控件

2,窗体的加载事件

CogPMAlignTool pma;
private void Form1_Load(object sender, EventArgs e)
{
    //加载vpp资源(重点)
    pma = CogSerializer.LoadObjectFromFile("模版匹配.vpp") as CogPMAlignTool;
    //Subject 属性 ,工具展示内容
    cogPMAlignEditV21.Subject = pma;
    //MessageBox.Show("加载资源成功");
}

3,在按钮1下写入:

 private void button1_Click(object sender, EventArgs e)
 {

     if (pma==null)
     {
         MessageBox.Show("加载资源失败");
         return;
     }
     OpenFileDialog dia = new OpenFileDialog(); // 文件对话框
     dia.Filter = "All Image Files| *.jpg; *.png; *.jpeg; *.ico; *.tif; *.tiff; *.idb; *.bmp";
     dia.Title = "请选择文件";
     if (dia.ShowDialog() == DialogResult.OK)
     {
        Bitmap map = Image.FromFile(dia.FileName) as Bitmap; //加载路径资源
        pma.InputImage = new CogImage8Grey(map);//转成8位的灰图,赋值给pma的输入图片

     }

 }

4,在按钮2写入:

 // 运行
 private void button2_Click(object sender, EventArgs e)
 {
     if(pma==null)
     {
         MessageBox.Show("加载资源失败");
         return;
     }

     pma.Run();// 运行

     //展示一条记录
     //pma.CreateLastRunRecord() 创建上一次的运行记录
     //SubRecords 子记录
     cogRecordDisplay1.Record = pma.CreateLastRunRecord().SubRecords[0];
     cogRecordDisplay1.Fit();

 }

赞(0)
未经允许不得转载:网硕互联帮助中心 » C# 关于联合编程基础
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!