用GTK开发一个画图程序(windows)

GTK是一个功能强大的开发平台,跨系统,提供了丰富的庞大的代码库,应用开发者可以用之快速做出自己的产品。

这个月用他开发了一个GUI程序,是个画图工具,功能包括:图片导入导出、线型编辑、拖拽、删除、调整粗细、颜色、虚实、阴影,亮点是实现了一种自定义的线型:尖灭线(项目后续会加入更多线型)。尖灭线是石油勘探资料处理中常用的绘图线型。GUI的使用流程是先导入一个底图,然后在底图之上画线或插入其他图片、文字,最后把整体导出为一个图片。上样例:

如图:企鹅图是背景图,蓝线是尖灭线,还有其他一些线和菜单。

开发采用的是windows版GTK+平台,用的是c语言开发。经过初步调优后,对现在的结果还算满意:),现在拖动线条时画面很流畅。稍后会传到github上。

时间: 2024-12-04 17:38:48

用GTK开发一个画图程序(windows)的相关文章

NET简单的一个画图程序

using System; using System.Drawing; //HttpUtility.UrlEncode /// <summary> ///Curve 的摘要说明 /// </summary> public class Curve { public Curve() { // //TODO: 在此处添加构造函数逻辑 // } /*******************************************************属性设置*************

一个画图程序(特别适合程序员)

一个画图神器,以后快速画图又有了一个新武器 图一: 代码: digraph directed { edge [fontname=NSimSun]; { a -> b; a -> c -> d [color=red,penwidth=3.0]; c -> e; a -> d[color=blue,label = "rank增加"]; } } 图二: graph hmc_graph{ "hmc01" -- "test520&quo

开发一个小程序点餐系统多少钱?

餐饮行业开发一个类似美团的点餐外卖小程序,属于自己的平台,不需要缴纳各种费用,而且背靠微信,有充足的流量为后盾,可谓一举多得.那么小程序点餐系统多少钱?开发小程序+点餐系统价格多少? 微信点餐外卖小程序优势: 1.开放的用户体系:点餐小程序无需登录,直接采用微信账号体系,极大降低用户首次使用门槛,同时方便用户信息收集. 2.分享红利:小程序可方便分享到微信个人和群聊窗口,会话中点击即用,非常方便传播. 3.线上线下打通:小程序最佳入口是扫描二维码,线下用户只需简单扫码,即可转换为小程序用户. 4

自己开发一个小程序需要多少钱?有哪些费用?

本文读完仅需3分钟:1.自主开发费用:2.第三方模板费用:3.定制开发费用. ?随着小程序的普及,越来越多的商家产生了开发需求,今天的文章就来给大家分享下不同小程序开发方式的费用,自主开发还是购买模板划算一目了然: 一.自主开发费用多 (1)认证费 首先要知道,注册小程序是不要钱的,但审核认证需要300的认证费,不过这是针对直接注册小程序的,如果你拥有经过认证的公众号,再注册小程序是不需要支付认证费的,需要注意的是认证费是需要每年续费的. (2)人工费 除了基本的技术开发人员外,制作一个小程序还

Java程序设计基础--环境搭建及第一个java程序--Windows开发环境

一.下载jdk(建议直接选择最新的) 输入https://www.oracle.com/index.html 二.安装jdk 三.设置环境变量 JDK需要两个环境变量,分别是: CLASSPATH , PATH PATH :告诉操作系统应该在哪里找到jdk CLASSPATH:告诉jvm在哪里找到我们需要的.class文件 直接选择我的电脑--右键选择属性 建议直接建立一个“JAVA_HOME”的环境变量 PATH变量名就在后面新加否则新建此变量名输入 ;%JAVA_HOME%\bin;%JAV

yii开发一个web程序的基本流程

1. 创建目录结构.在前面的章节Creating First Yii Application写的yiic工具可以帮助我们快速完成这步. 2. 配置 application.就是修改application配置文件.这步有可能会写一些application部件(例如:用户部件) 3. 每种类型的数据都创建一个 model 类来管理. 同样,yiic可以为我们需要的数据库表自动生成active record active record 类. 4. 每种类型的用户请求都创建一个 controller 类

【物联网(IoT)开发】使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关

上篇"[物联网(IoT)开发]Arduino 入门 Hello World(LED闪烁)"只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断开网络提供电源依然还可以工作.本文将介绍如何开发一个应用程序,以便使用适用于物联网 (Internet of Things, IoT) 的技术.我们的应用程序通过串口收集数据,将其存储在一个 Web 服务器上,然后在网页上实时显式结果,并可以在网页上控制LED的开关. 构建一个类似的应用程序的前提条件 对于第

使用 Equinox 开发 OSGi 应用程序

本教程着重介绍 OSGi 框架知识.环境搭建.服务使用.应用设计.部署. 开始之前 关于本教程 OSGi 是目前动态模块系统的事实上的工业标准,虽然一开始只是作为嵌入式设备和家庭网关的框架来使用,但是实际上它适用于任何需要模块化.面向服务.面向组件的应用程序.而 Equinox 则是的 Eclipse 所使用的 OSGi 框架,是 Eclipse 强大的插件体系的基础,Eclipse 的稳定可靠性也为该框架带来了声誉. 本教程就将演示如何在 Eclipse 环境下利用 Equinox 框架进行

Python学习笔记一:第一个Python程序,变量,字符编码与二进制,用户交互程序

第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print("Hello World!") >>>exit() 编辑文件helloworld.py 执行:python helloworld.py Linux:./helloworld.py   声明解释器:#!/usr/bin/env python  在环境变量中找python Chmod 755 hel