news 2026/5/5 16:26:21

联合编程(加载单个工具,ini读写,图片读写,setting存储)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
联合编程(加载单个工具,ini读写,图片读写,setting存储)

加载单个工具例子

//保存到一个地方 让vs进行读取

namespace 加载单个pma工具
{
public partial class Form1 : Form
{
CogPMAlignTool pma;
public Form1()
{
InitializeComponent();
cogRecordDisplay1.Fit();
}
//窗体加载事件
private void Form1_Load(object sender, EventArgs e)
{
//加载vpp资源(重点)
pma = CogSerializer.LoadObjectFromFile("
模版匹配.vpp") as CogPMAlignTool;//位置
//Subject 属性 工具展示的内容
cogPMAlignEditV21.Subject = pma;
//MessageBox.Show("加载成功");

}

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


}
}

private void button2_Click(object sender, EventArgs e)
{
if (pma ==null)
{
MessageBox.Show("加载资源失败");
return;
}
pma.Run();
//record 展示一条记录
//CreateLastRunRecord 创建最近的运行记录
//SubRecords 子记录
cogRecordDisplay1.Record = pma.CreateLastRunRecord().SubRecords[0];
cogRecordDisplay1.Fit();

}
}
}

ini格式读写

namespace ini文件存储读取
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// FileStream a = new FileStream(@"1", FileMode.Open, FileAccess.Write);
//StreamWriter a2 = new StreamWriter(a, Encoding.UTF8);
}


//写入


private void button2_Click(object sender, EventArgs e)
{
//1 写入指定节点指定的键 (没用则创建一个新键)
//IniAPI.INIWriteValue("C:\\Users\\12345\\OneDrive\\Desktop\\1.ini","net","ip","333");
//2 删除节点
//IniAPI.INIDeleteSection("C:\\Users\\12345\\OneDrive\\Desktop\\1.ini","data");
//3 删除键
//IniAPI.INIDeleteKey("C:\\Users\\12345\\OneDrive\\Desktop\\1.ini","net","ip");

}


//读取


private void button1_Click(object sender, EventArgs e)
{
// //1 获取所有的节点名称
//string[] s1 = IniAPI.INIGetAllSectionNames("C:\\Users\\18060\\OneDrive\\Desktop\\1.ini");
// foreach (string item in s1)
// {
// richTextBox1.Text += item +"\n";
// }

// 2 获取所有的items
//string[] s1 = IniAPI.INIGetAllItems("C:\\Users\\18060\\OneDrive\\Desktop\\1.ini","net");
//foreach (string item in s1)
//{
// richTextBox1.Text += item + "\n";
//}
// 3 获取对应节点的键的值(重要)
//string s1 = IniAPI.INIGetStringValue("C:\\Users\\18060\\OneDrive\\Desktop\\1.ini","net","ip","");
//richTextBox1.Text = s1;


}
}
}

图片读写操作

namespace 图片读写操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

方法一

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();

}
}

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();


}

方法二


//使用位图进行读取展示


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 bit1 = new CogImage8Grey(bit);//转化8位灰图
CogImage24PlanarColor bit2 =new CogImage24PlanarColor(bit);//转化为24位彩色图
cogRecordDisplay1.Image = bit2; //展示图片
cogRecordDisplay1.Fit();

}
}
//使用位图进行写入保存
private void button4_Click(object sender, EventArgs e)
{
string path = Directory.GetCurrentDirectory()+"\\data";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string path2 = path + "\\1.png";
//if (!File.Exists(path2))
//{
// return;
//}

//CreateContentBitmap创建位图内容
//参数1 把图片转成位图
Bitmap map = cogRecordDisplay1.CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Image)as Bitmap;
map.Save(path+$"\\{DateTime.Now:yyyyMMddhhmmss}.png");

}
}

setting存储

private void button1_Click(object sender, EventArgs e)
{
Settings set = Settings.Default;//获取配置对象
set.name = textBox1.Text;
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;

}

//持久化存储
//json格式 {"age":10}
//file文件存储
//二进制存储方式
//csv存储格式 姓名,年龄
// 张三,10
//setting存储格式
//ini存储格式 [net]
// IP = 127.0.0.1
// port = 8080
//xml存储
//数据库

//存储数据

//内存存储: 数据类型存储方式 数组,字典,集合

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 16:25:56

C++优先队列详解与仿函数应用

基本特性头文件&#xff1a;#include <queue>命名空间&#xff1a;std底层实现&#xff1a;通常基于堆&#xff08;heap&#xff09;数据结构实现默认行为&#xff1a;大顶堆&#xff08;最大元素优先出队&#xff09;时间复杂度&#xff1a;插入元素&#xff1a;O(log n…

作者头像 李华
网站建设 2026/5/2 10:06:13

智能升级,效率飞跃——建广数科AI助手赋能企业数字化转型

在数字化转型浪潮中&#xff0c;企业如何让内部运营更智能、更高效&#xff1f;建广数科自主开发的AI助手产品线&#xff0c;正以其精准的场景化服务与强大的技术能力&#xff0c;为这一问题提供了领先的解决方案。作为企业级智能服务平台&#xff0c;AI助手基于自然语言处理与…

作者头像 李华
网站建设 2026/5/4 4:41:16

docker 镜像导入导出

如果原文件是用 docker save 导出的&#xff0c;应该用 docker load 而非 docker import&#xff1a;# 错误方式&#xff08;丢失元数据&#xff09; docker import mysql.tar mysql8:8.4# 正确方式&#xff08;保留完整元数据&#xff09; docker load -i mysql.tar

作者头像 李华
网站建设 2026/5/5 16:25:55

SpringBoot+Vue 政府管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL

摘要 随着信息技术的快速发展&#xff0c;政府管理系统的数字化和智能化已成为提升行政效率和服务质量的重要手段。传统的政府管理模式依赖于纸质文件和人工操作&#xff0c;不仅效率低下&#xff0c;还容易出现数据丢失和错误。为了解决这些问题&#xff0c;基于现代信息技术…

作者头像 李华
网站建设 2026/5/3 16:17:36

Java SpringBoot+Vue3+MyBatis 网络海鲜市场系统系统源码|前后端分离+MySQL数据库

摘要 随着互联网技术的快速发展和电子商务的普及&#xff0c;线上交易平台已成为现代商业活动的重要组成部分。海鲜市场因其产品特殊性&#xff0c;对运输、储存和交易时效性要求较高&#xff0c;传统线下交易模式难以满足消费者对便捷性和多样性的需求。网络海鲜市场系统的开发…

作者头像 李华