程序绘图
文章平均质量分 81
河西石头
二十年如一日
展开
-
AI绘图cuda与stable diffusion安装部署始末与避坑
stable diffusion的安装与部署中遇到的问题和解决方案,尤其是cuda的安装遇到的问题原创 2024-04-01 17:25:03 · 2555 阅读 · 0 评论 -
GDI+绘图轻松入门[6]-Graphicspath和它的兄弟姐妹Figure、Maker、Region
详细介绍了Graphicspath和它的兄弟姐妹Figure、Maker、Region原创 2023-03-27 10:53:24 · 1166 阅读 · 5 评论 -
几何画板中功能使用技巧[剪切、延长、对齐、垂线段、平行线段]
几何画板中功能使用技巧[剪切、延长、对齐、垂线段、圆的切线,正多边形的绘制原创 2023-03-13 22:37:00 · 1646 阅读 · 0 评论 -
在C#中初测OpencvSharp4
OpenCv测试,在C#上测试Opencv,使用OpenCvSharp4,必须引入的四个包,picturebox中移动图片显示。原创 2023-02-23 23:24:31 · 1784 阅读 · 4 评论 -
为GDI+增加类似QPainter的Save和Restore功能
为GDI+增加类似QPainter的Save和Restore功能,避免绘图过程中的重复设置。原创 2023-02-20 17:06:07 · 515 阅读 · 0 评论 -
快捷获取GDI+绘图参数的两种经验方案
快捷获取GDI+绘图参数的两种经验方案,快速获取一种color颜色实例,font字体实例,font字体样式,brush,pen笔刷实例,矩形rectangle,这样,我们就不必每次都用new一个个的参数来获取实例。原创 2023-02-18 23:45:09 · 578 阅读 · 1 评论 -
C#中GDI+的矩形功能扩展
C#中GDI+的矩形功能扩展,通过中心坐标绘制圆,中心位置绘制椭圆,通过中心位置绘制矩形,矩形收缩,矩形移动复制,圆角矩形。原创 2023-02-16 14:57:47 · 1101 阅读 · 0 评论 -
GDI+绘图轻松入门[9]-路径变形和表盘的绘制
仪表盘,汽车仪表盘,钟表表盘的实现,TranslateTransform与RotateTransform,LinearGradientBrush、PathGradientBrush的使用原创 2023-02-14 10:32:18 · 1946 阅读 · 9 评论 -
来来来一起用C#解析渲染显示SVG矢量图转化格式保存
C#解析渲染显示SVG矢量图并转化格式保存,代码生成SVG,将svg显示在winform上,SVG显示在控件上,SVG结合GDI+绘图https://blog.csdn.net/haigear/article/details/128893506原创 2023-02-06 07:55:48 · 4102 阅读 · 2 评论 -
GDI+绘图轻松入门[5]-绘图坐标的理解和应用
一篇博文,完全讲清楚gdi+的坐标体系,及必要掌握的,绝对坐标,相对坐标,new point、PointToClient、PointToScreen,Location,MouseEventArgs原创 2023-02-04 22:16:17 · 2183 阅读 · 4 评论 -
为dev c++配置图形开发环境easyx之mingw32
easyx官网的配置说明不详细 dev c++ 5.1版本后内置的编译器大多为32位的mingw gcc 32的编译器,这给我们的配置增加了麻烦,那么我们如何配置32位编译器的dev c++的easyx环境呢?其实大体步骤和前面的博文基本一致,但有细节的差别。原创 2022-11-28 10:52:21 · 2742 阅读 · 2 评论 -
dev c++Easyx绘图(再谈环境配置中遇到的问题)
dev c++中配置easyx遇到的错误以及解决方案。原创 2022-11-26 18:24:52 · 2551 阅读 · 2 评论 -
为dev c++配置图形开发环境easyx之mingw64
easyx是专门为c++提供图形开发的类库套件,但配置到dev c++上有的时候不太好配置,这里完整详细的给大家介绍了配置方法。这里的配置版本是dev c++ 6.7.5,如果想运行成功,尽量安装这个版本。原创 2022-11-23 12:01:16 · 6119 阅读 · 5 评论 -
C#自定义控件编程轻松入门(2)
前面我们讲了一个C#自定义控件完成的大体框架轮廓,我们不想每用到一个自定义控件都从零开始。所以今天,我们来建立一个基类,准备大干一场,让我们后面建立的控件都继承它。原创 2022-04-19 11:30:47 · 2812 阅读 · 4 评论 -
第一次使用pycharm遇到的问题
这篇博客涵盖了新手第一次使用python的IDE,pycharm可能遇到的一些列问题及其解决方案。其中包括1、No interpreter2、failed to create vitual enviroment(创建虚拟环境失败)3、pycharm与python版本不匹配4、powershell不能正常运行5、安装过的第三方库不能识别6、智能感知功能不灵(明明有的类对象,但不能智能提示)...原创 2022-03-30 04:14:54 · 6803 阅读 · 0 评论 -
Processing摸索前行(8)-弹珠游戏
前面,我们摸索了Pressing线程已经对象封装,还做了雷达以及示波器,这一篇博文,我们利用processing来做一个小的游戏。这个游戏我们在很多手游上玩过,一个滑动的盘子,接住弹珠,弹珠每次弹跳可以击碎一个方块。明白了需求,我们就来一步一步来实现吧。一、会自动反弹的弹珠首先我们要实现的是一个能够反弹的弹珠。代码如下:PVector ballPosition, ballSpeed;co...原创 2018-12-30 23:26:13 · 2194 阅读 · 0 评论 -
零基础开始QT绘图(5)
上一篇,我们学会了如何在GraphicView上绘制GraphicItem,看起来效果和在Painter上绘制的没什么差别,今天我一起来看看他们的差别。我们在上一篇代码的基础上加上几句简单的设置,看看效果。一、让图形动起来#include "mywidget.h"#include "ui_mywidget.h"myWidget::myWidget(QWidget *parent) :Q原创 2018-12-25 12:02:08 · 702 阅读 · 0 评论 -
C#自定义控件编程轻松入门(1)
C#控件编写的第一课,最容易的入门方式,从一个空白控件开始,逐步掌握自定义控件的编写过程。原创 2018-12-29 13:33:13 · 11633 阅读 · 11 评论 -
VS2017中GDI+绘图轻松入门(4)
前面我们实现了简单的图形绘制,以及粗制的爆粗,可能细心的同学在保存一个已有的图片(即覆盖保存)时会出现报错,这个错误就是GDI+一般性错误。这里,我们将这个错误解释一下,由于微软设定了一种机制,那就是不准许其他对象对图形原始构建对象进行读写操作。所以,这里我们采用了另一个Bitmap对象来进行保存操作,则可以有效避免这个错误。代码中有详细注释:using System;using Syste...原创 2018-12-23 20:14:43 · 2387 阅读 · 0 评论 -
Processing摸索前行(6)-在processing中实现多线程
由于我们在示波器中必须用到多线程,所以我们在实现示波器的动态获取数据功能之前,中间插一篇有关processing多线程的探索内容。虽然,表面上processing和arduino的封装差不多,一开始都是一个setup,但我们知道要在arduino中实现多线程几乎不可能,最常见的方法就是用中断,而arduino中的中断资源是有限的,比如串口通讯就使用了中断资源,而且效果也不是太好(当然也有一些第三...原创 2018-12-18 08:43:49 · 1940 阅读 · 0 评论 -
Processing摸索前行(02)
经过第一次的摸索,已经基本掌握了他的大体框架,以及编写一个简单到极点的可以运行的程序。但是即使这么简单的程序,我在摸索的时候都遇到了一个问题。这个问题是这样的,我们来看看代码:void setup(){size(400,300);background(255);}void keyPressed(){println(“hello this is key pressed!”);}...原创 2018-11-18 19:48:02 · 1396 阅读 · 0 评论 -
解读arduino读取模拟信号实例
相信无论是51板还是stm32板,甚至是arm板,最简单的莫过于数字信号的输出或输入,所以Arduino的数字信号口的操作这里我们不打算重复,我们要讲讲Arduino模拟信号口的操作。一、基础知识这里我们首先讲模拟信号的输入(即读取),首先我们要普及一下基础知识,什么是模拟信号,什么是数字信号,模拟信号与数字信号有什么差别?当然,我不想教科书式的来阐述,我就分别用一句话来说明:数字信号只有...原创 2018-12-04 19:43:24 · 20017 阅读 · 1 评论 -
一步一步用arduino与Processing实现雷达扫描(1)
平时,我们在军事题材的电影中看到雷达扫描的画面,感觉很酷很炫,实际,对于今天的我们来说这个效果要实现并不是很难,只不过步骤较多而已。所以我们需要一步一步来实现,也就有了我这篇(或者要用几篇的篇幅来实现)《一步一步用arduino与Processing实现雷达扫描》。首先把我们要实现的步骤简单勾勒一下(我们要制作一个360度的雷达扫描):一、软件实现1、绘制雷达表盘2、增加扫描线3、实现拖...原创 2018-12-05 11:50:10 · 8489 阅读 · 3 评论 -
一步一步用arduino与Processing实现雷达扫描(2)
雷达表盘的绘制相对来说简单,属于粗线条的工作,在实现了雷达的表盘绘制以后,我们接下来的工作慢慢开始细致化了,当然,这能更大程度的让我们熟悉Processing的用法。在这篇文章中,我们重点实现扫描线的拖影效果以及扫描目标点的绘制首先我们来看,扫描的拖影效果实现。拖影效果实现的原理简单,理论上来说就是利用fill的第四个参数的变化在绘制一个线簇,利用渐变的线簇来实现拖影,但线簇有一个问题,那就是...原创 2018-12-06 19:19:06 · 4585 阅读 · 8 评论 -
零基础开始QT绘图(4)
我们前面使用QPainter进行绘图一定意义上来说也算是基本满足要求了,但如果我们需要使图形和用户具备互动性,QPainter就无能为力了,或者实现起来就会非常的麻烦,但QT为了使我们免于麻烦,提供了一个特殊的对象,或者叫做图形框架QGraphicView。接下来,我们就来看看这个框架究竟怎么使用。首先我们要搞清楚,这个框架在哪里呢?它就在我们控件工具栏中,如下图:我们使用时,就只要想bu...原创 2018-12-20 10:08:52 · 1159 阅读 · 0 评论 -
VC中GDI绘图上手必须了解清楚的几个概念
如果我们使用过GDI+绘图,那么理解GDI绘图就很容易,不论在GDI还是GDI+中绘图,都需要一个绘图的“画板”,如果没有这个“画板”那么我们所绘制的图就没有地方承载,自然也就不能显示出来给人看见。GDI+的绘图画板对象是一个Graphics对象,看起来,这个非常好理解,那是因为微软在开发C#这个语言的时候已经更多考虑它的易用性,自然也就将名称设置得要更易于理解。GDI是MFC的绘图系统,GD...原创 2018-12-21 09:52:06 · 1614 阅读 · 0 评论 -
Processing摸索前行(4)
前面我们基本了解了在Processing中绘图的基本流程和键盘及鼠标互动必备的一些知识,当然,我们的摸索绝不可能止步于此,我们要一路坚持,继续摸索前行。我们在C++C#或者Java中已经感受到面对对象的好处,那么在Processing中应该也是能够实现类的设计和封装的,否则我们的那些个图形元素就不能按照我们的意图进行管理了。比如,将各种图形元素进行保存,那就基本没有办法了。我们来看看Proce...原创 2018-12-09 20:10:08 · 1135 阅读 · 1 评论 -
零基础开始QT绘图(2)
上一篇我们学习了在widget中绘制一个简单的矩形,虽然简单,但至少我们摸清了进入在QT绘制图形的大门。接下来,在这篇中,我们顺着大门继续往前走。...原创 2018-12-15 22:13:12 · 524 阅读 · 0 评论 -
QT与arduino互动实现雷达扫描效果
我们前面用processing实现了雷达扫描效果,但processing毕竟不能用来做系统,不能作为一个比较完善的软件发布。这里我们用QT来实现与arduino的互动及雷达扫描效果。一、建立雷达扫描显示工程及对话框打开qt选择建立一个带对话框的QApplication工程,命名工程名为QRadar对话框名称输入QRadarDlg...原创 2018-12-10 13:13:20 · 2889 阅读 · 0 评论 -
VS2017中GDI+绘图轻松入门(1)
GDI+之前,我们先来解释一下,什么是GDI,G就是Graphic D就是Device I就是Interface,那放在一起就是绘图设备接口。所以GDI+就是GDI Plus,就好比我们的手机iPhone X8 后面跟一个IPhone8 Plus一样一样的,升级版。GDI是用在VC中的,2001年微软整出了.net(C#,VB.net)都包含其中,又另外在GDI的基础上加强了一下,当然也是由于运...原创 2018-12-20 23:14:59 · 16983 阅读 · 3 评论 -
VS2017中GDI+绘图轻松入门(2)
上一篇,我们利用窗体的Paint事件中的参数实例化了一个Graphic,在这个基础上完成了绘图,这个绘图是窗体的事件,所绘的图也就限定在窗体上了。这个和在窗体内重载Paint事件绘图基本效果基本一样。如:namespace formDraw{ public partial class Form1 : Form { public Form1() {...原创 2018-12-21 09:00:17 · 2881 阅读 · 2 评论 -
VS2017中GDI+绘图轻松入门(3)
看过前两篇GDI+绘图入门博文的小伙伴可能会有提出新的需求,我们想把我们所绘制的图形保存起来,省得每次进到我们的程序中又要重新开始画。对于这个需求,GDI+在设计的时候早就考虑进去了,所以它还有第三种绘图方式,那就是通过一个图片文件绘图。当然,这个图片文件可以是你现场创建的,也可以是早就存在的一张图片,能够通过图片来创建一个Graphic对象绘图,一定是个很好的体验,比如,我是一个摄影爱好者,我...原创 2018-12-23 14:42:26 · 2381 阅读 · 2 评论 -
零基础开始QT绘图(3)
mousePressEvent、mouseMoveEvent、mouseReleaseEvent利用Painter、Pen、Brush、QFont的四个对象进行绘图的基本用法,接下来,我们来实战一次,接下来的两篇教程我们来做一个很简单的绘图板小项目。我们要实现的功能主要两点:一、可随意涂鸦,二、可以保存我们涂鸦的作品。在这前,我们要解决一个问题,那就是如何使用鼠标事件来绘制图形。一、掌握鼠标事件的实现利用鼠标绘图,我们必须首先了解三个鼠标事件,mousePressEvent、mouseRele...原创 2018-12-16 14:27:24 · 2155 阅读 · 4 评论 -
一步一步用arduino与Processing实现雷达扫描(3)
前面我们已经比较完整的实现了processing的雷达扫描效果,软件部分只剩下目标扫描点的类封装、扫描线的拖影效果及硬件部分的实现。其中类的封装,在我的博文《Processing摸索前行(4)》中有过比较详细的介绍。但我们这里具体处理扫描点的方法有必要详细介绍一下。我们首先明确一下思路:我们的扫描雷达上传给processing的应该是距离和角度两个值,也就是说,我们在模拟中应该是模拟角度值和距...原创 2018-12-11 08:12:35 · 4835 阅读 · 15 评论 -
Processing摸索前行(5)
上一篇,我们学会了类的封装,这个为我们后面建立更加可利于操作的对象奠定了基础。前面封装的类可以画线可以画格子,我们就利用它绘制示波器的格子,在这基础上我们来实现一个示波器与arduino通讯,arduino负责数据的采集。开始之前,我们来分析一下我们的需求和目标:1、将读取的数据转换为波形2、可以根据需要放大波形及重新定义标尺单元细分度3、可开启周波实时显示(即波形根据时间的推移信号波右移...原创 2018-12-16 22:40:09 · 667 阅读 · 0 评论 -
Processing摸索前行(7)
上一篇,我们经过摸索已经掌握了示波器的静态图形绘制的方法,这里我们继续前行,将其动态波形的功能实现。从现实情况来看,动态波形一定是数字一边产生一边绘制到屏幕上,而不是一开始就有一堆的数据等着我们用。这里估计就要用到类似线程之类的概念来操作了,而我们在Processing中没有thread的概念,没有类,所以我们不得不另求他法了,经过反复摸索,发现有一个封装的函数可以说实现这样的功能,这个函数的...原创 2018-12-18 08:51:33 · 607 阅读 · 0 评论 -
零基础开始QT绘图(1)
测试QPaint的调用。写一个简单的调用程序#include "widget.h"#include "ui_widget.h"#include"qpainter.h" //不加入这个头文件,是不能调用QPainter的Widget原创 2018-12-03 21:26:26 · 1023 阅读 · 0 评论