安装一个C语言的图形编辑小工具

平时用的都是黑乎乎的窗口写C语言,参加算法竞赛,带图的只写过“黄金矿工”“贪吃蛇”“扫雷”的弱鸡,现在开始正式学图形化,刚开始在网上找到的信息有几个比较优秀的,比如:

C语言Windows图形界面程序学习(一)_hongguoya的博客-CSDN博客_c 图形界面

用C语言进行Windows编程入门_cnds123的专栏-CSDN博客_c语言windows编程

网上找到的大多数都是easyx图形化,感觉基础语法不足以支持这么复杂的东西。老师给的回答就几个字opencv,所以重新开始学习。

计算机视觉开源软件库:

Releases - OpenCVhttps://opencv.org/releases/

opencv下载地址。 

opencv下载后为压缩包,解压。

 

 D:\Opencv\opencv\build\bin

找到这个文件夹。 

配置OpenCV开发环境


1、添加环境变量:

电脑左上角找到“我的电脑”,点击鼠标右键,依次选择“属性”、“高级系统设置”、“环境变量”、“Path”。这里搜索环境变量也可以打开。

 

双击打开。

这几步搞定后,进去下一步。


2、在vs里添加OpenCV包含目录和库目录:

打开Visual Studio,新建一个项目,在Visual Studio左上角菜单栏,依次选择“视图”、“其他窗口”、“属性管理器”。找到自己对应的Debug和Release模式,比如说我目前想使用x64的Debug,我就选择第二项下的“Microsoft.Cpp.x64.user”。

 

 

 

3、配置好了之后百度opencv函数可以直接调用,十分方便的操作图片。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要实现一个代码编辑器,需要了解以下几个方面: 1. 用户界面:使用图形界面库(如GTK、Qt、wxWidgets等)来创建用户界面,可以包括菜单、工具栏、编辑窗口、状态栏等。 2. 文本编辑器:实现文本编辑器的功能,包括插入、删除、移动光标、选择文本等。 3. 语法高亮:实现代码的语法高亮,可以使用正则表达式或解析器来实现。 4. 自动完成:实现代码的自动完成功能,可以使用Trie树等数据结构来实现。 5. 文件操作:实现文件的打开、保存、另存为等文件操作功能。 下面是一个简单的C语言代码编辑器的实现示例: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <gtk/gtk.h> GtkWidget *text_view; // 文本编辑框 GtkWidget *window; // 主窗口 // 打开文件 void open_file(GtkWidget *widget, gpointer data) { GtkWidget *dialog; GtkTextBuffer *buffer; dialog = gtk_file_chooser_dialog_new("Open File", GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { char *filename; filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); FILE *fp; fp = fopen(filename, "r"); if (fp != NULL) { char buf[1024]; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view)); while (fgets(buf, sizeof(buf), fp) != NULL) { gtk_text_buffer_insert_at_cursor(buffer, buf, -1); } fclose(fp); } g_free(filename); } gtk_widget_destroy(dialog); } // 保存文件 void save_file(GtkWidget *widget, gpointer data) { GtkWidget *dialog; GtkTextBuffer *buffer; dialog = gtk_file_chooser_dialog_new("Save File", GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { char *filename; filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view)); GtkTextIter start, end; gtk_text_buffer_get_start_iter(buffer, &start); gtk_text_buffer_get_end_iter(buffer, &end); char *text; text = gtk_text_buffer_get_text(buffer, &start, &end, FALSE); FILE *fp; fp = fopen(filename, "w"); if (fp != NULL) { fputs(text, fp); fclose(fp); } g_free(filename); g_free(text); } gtk_widget_destroy(dialog); } // 创建主窗口 void create_window() { GtkWidget *vbox; GtkWidget *menubar; GtkWidget *filemenu; GtkWidget *file; GtkWidget *open; GtkWidget *save; GtkWidget *separator; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Code Editor"); gtk_window_set_default_size(GTK_WINDOW(window), 640, 480); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(window), vbox); menubar = gtk_menu_bar_new(); filemenu = gtk_menu_new(); file = gtk_menu_item_new_with_label("File"); gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), filemenu); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), file); open = gtk_menu_item_new_with_label("Open"); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), open); g_signal_connect(G_OBJECT(open), "activate", G_CALLBACK(open_file), NULL); save = gtk_menu_item_new_with_label("Save"); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), save); g_signal_connect(G_OBJECT(save), "activate", G_CALLBACK(save_file), NULL); separator = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), separator); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); text_view = gtk_text_view_new(); gtk_box_pack_start(GTK_BOX(vbox), text_view, TRUE, TRUE, 0); gtk_widget_show_all(window); } int main(int argc, char *argv[]) { gtk_init(&argc, &argv); create_window(); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_main(); return 0; } ``` 上述示例代码使用GTK+库创建了一个简单的C语言代码编辑器,可以实现打开、保存等基本功能,但仅供参考,还需要根据实际需求进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程图一乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值