自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (56)
  • 收藏
  • 关注

原创 OpenGL实战教程(10) -- 第九站:纹理贴图

纹理,指的是一张二维的图片,把它像贴纸一样贴在物体上面,让那个东西看起来像我们贴纸所要表现的东西那样。纹理映射功能将一些像素数据经过变换(即使是比较不规则的变换)将其附着到各种形状的多边形表面。利用纹理映射功能可以实现目前计算机动画中的大多数效果。1、启用纹理和载入纹理glEnable(GL_TEXTURE_2D); // 启用纹理功能 glDisable(GL_TEXTURE_2D); /...

2020-03-31 16:54:00 2092

原创 OpenGL实战教程(9) -- 第八站:颜色混合

混合用来实现半透明。但其实它也是十分灵活的,通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象。混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。注意:只有在RGBA模式下,才可以使用混合功能,颜色索引模式下是无法使用混合功能的。1、混合功能开关glEnable(GL_BLEND); //打开混合功能...

2020-03-31 15:16:57 297

原创 OpenGL实战教程(8) -- 第七站:显示列表

1、为什么要用显示列表对于复杂的图形,有成千上万个顶点,每次刷新屏幕都于重新计算顶点,让CPU执行重复的工作,浪费了CPU资源和运行速度的下降。如果把计算好的结果存放到显示列表中,需要刷新屏幕时,只需要把数据刷新到显卡里就可以了,节省CPU计算资源。2、分配显示列表编号GLuint glGenLists (GLsizei range);GLsizei range:指定要分配几个显示列表。...

2020-03-31 14:30:33 267

原创 OpenGL实战教程(7) -- 第六站:光照

一、 光照模型在大自然中,某些物体会发光,例如太阳、电灯等,而其它物体不会发光,反射来自其它物体的光。这些光通过各种方式传播,最后进入眼睛——于是一幅画面就眼前形成了。OpenGL在处理光照时把光照系统分为三部分,分别是光源、材质和光照环境。光源就是发光源,如太阳或者电灯等。材质是指接受光照的物体表面,物体如何反射光线由物体表面决定,材质特点就决定了物体反射光线的特性。光照环境是指环境亮...

2020-03-31 13:38:03 559

原创 OpenGL实战教程(6) -- 第五站:模型变换和视图变换

***有关矩阵运行和透视原理,参考相关的数学知识。1、glMatrixMode函数:void glMatrixMode (GLenum mode)mode取值:GL_PROJECTION 投影,GL_MODELVIEW 模型视图,GL_TEXTURE 纹理(1)使用GL_MODELVIEW 参数:表示切换到模型操作方式。调用函数glLoadIdentity()加载单位矩阵,然后...

2020-03-31 11:52:50 385

原创 OpenGL实战教程(5) -- 第四站:使用颜色

1、 RGBA颜色RGBA模式中,每一个像素会保存以下数据:红色分量、绿色分量、蓝色分量和alpha分量,其中红、绿、蓝三种颜色相组合,就得到看到的颜色,而alpha不直接影响颜色,它表示与底色的组合关系(即透明程度)。glColor*系列函数可以用于设置颜色,其中三个参数的版本可以指定R、G、B的值,而A值采用默认;四个参数的版本可以分别指定R、G、B、A的值。例如:void glCo...

2020-03-30 15:42:37 1405

原创 OpenGL实战教程(4) -- 第三站:深入理解点、线、多边形的绘制(VS2015)

1、点点的大小默认为1个像素,但也可以用glPointSize修改大小。其函数原型如下:void glPointSize(GLfloat size); size必须大于0.0f,默认值为1.0f,单位为“像素”。glPointSize(5.0f);glBegin(GL_POINTS);glVertex2f(0.0f, 0.0f);glVertex2f(0.5f, 0.5f);glE...

2020-03-30 14:58:29 652

原创 OpenGL实战教程(3) -- 第二站:点、线、多边形的绘制(VS2015)

1、顶点函数OpenGL中顶点是图形绘制的基础。先了解一下顶点相关的函数:顶点函数:glVertexN?() 和 lVertexN?v()X:表示函数有几个参数:?:表示函数参数的类型:v: 表示参数是指针形式。如:glVertex2i(1, 3): 表示两个整数型参数,1=x坐标,3=y坐标,z坐标为0glVertex2f(1.0f, 3.0f):表示两个浮点型参数,z坐标=0...

2020-03-30 13:46:40 1147

原创 OpenGL实战教程(2) -- 第一站:画一个矩形(VS2015)

#include "stdafx.h"#include "glut.h"void Draw1Rect(void){ glClear(GL_COLOR_BUFFER_BIT); // 清除屏幕的内容 glColor3f(0.5, 0.5, 0); // 设置颜色,参数为红绿蓝分量 glRectf(-0.5f, -0.5f, 0.5f, 0.5f); // 在屏幕正中间画一个正方形...

2020-03-30 12:45:36 480

原创 OpenGL实战教程(1) -- 开发环境快速搭建(VS2015)

1、新建一个控制台程序(console)工程:系统自动生成一个简单的程序,编译成功。2、以glut库开发OPENGL在https://www.opengl.org/resources/libraries/glut/glut_downloads.php#3.6网址,下载glut库开发时需要以下文件:glut32.libglut.hglut.dll3、文件拷贝在工程目录下创建头文件目...

2020-03-30 11:59:21 367

原创 QT开发应用程序(19)-- 读取XML文件

1、修改工程文件PRO属性在工程文件设置中修改[Qt Modules] 中增加xml;或者直接修改pro文件:加一行:QT+=xml2、源程序XML例:把xml文件存入utf-8格式的文件中。(如果没有中文字符,文件存放格式可以忽略)<?xml version="1.0" encoding="utf-8"?><classes info="test"> ...

2020-03-30 11:03:59 470

原创 QT开发应用程序(18)-- 文件操作

1、QIODevice直接继承自QObject, 是输入/输出设备的抽象类。提供了公共实现和抽象接口用于读写块数据。Q3Socket,Q3SocketDevice,QAbstractSocket,QBuffer,QFile,QLocalSocket,QNetworkReply,QProcess是它的子类。2、QFile打开文件:bool open(OpenMode flag...

2020-03-27 20:24:57 844

原创 QT开发应用程序(17)-- 读写XLS文件

请注意,在工程文件pro里,增加CONFIG += qaxcontainer。有的网帖上写的是CONFIG += axcontainer,经测试,通不过。#ifndef QTEXCEL_H#define QTEXCEL_H#include <QObject>#include <QFile>#include <QString>#include &l...

2020-03-27 19:51:54 1750 5

原创 QT开发应用程序(16)-- TCP通讯实例

1、TCP Server端#include <QTcpServer>#include <QObject>#include "Myclientsocket.h"class MyServer : public QTcpServer{ Q_OBJECTpublic: MyServer (QObject *parent=0,int port=0); ...

2020-03-27 16:54:55 222

原创 QT开发应用程序(15)-- UDP通讯实例

头文件定义#include <QObject>#include <QUdpSocket> class QtUdp : public QObject{ Q_OBJECT public: UdpReceiver(QObject *p = 0); ~UdpReceiver(); public slots: void receiv...

2020-03-27 16:34:44 270

原创 QT开发应用程序(14)-- 线程

1、多线程间的控制有以下类提供对线程进行互斥和同步。QMutexQMutexLockerQReadWriteLockerQReadLockerQWriteLockerQSemephoreQWaitCondition2、线程头文件定义#include <QThread>class WorkThread : public QThread{ Q_OBJEC...

2020-03-27 16:24:25 179 1

原创 QT开发应用程序(13)--数据库操作

在工程中添加定义:QT+=sql头文件定义:include <QSqlDatabase>class MyDatabase{public: MyDatabase(); void connectMYSQL(); void createDB(); void initDB(); QSqlDatabase database;}MyDatabas...

2020-03-27 16:11:43 219

原创 QT开发应用程序(12)-- 模型视图代理

1、模型视图结构的理解Model-View-Controller (MVC) 是由三个对象构成,Model是模型,View是显示,Controller定义了用户界面和用户输入的交互。如果把View和Controller结合起来,就成为了Model/View(模型视图)模式,这种模式仍然是把数据的存储和显示分隔起来的。模型与数据源通信,为这个架构中的其它组件提供了接口。通信的本质依赖于数据源的类...

2020-03-27 15:56:05 369

原创 QT开发应用程序(11)--图形绘制和文本输出

代码演示:#include <QPainter>MyDraw::MyDraw(QWidget *parent) : QWidget(parent){ QLinearGradient linearGradient(0,0,400,400); linearGradient.setColorAt(0.0,Qt::white); linearGradien...

2020-03-27 14:52:40 620

原创 QT开发应用程序(10)--菜单和工具栏

主程序:MenuToolbar::MenuToolbar(QWidget *parent) : QMainWindow(parent){ createActions(); createMenus(); createToolBars();}创建动作:void MenuToolbar::createActions(){ //"打开"动作 ...

2020-03-27 14:32:25 227

原创 QT开发应用程序(9)-- 文件等功能对话框

1、取得文件对话框取得文件名的函数,有以下这些:QFileDialog::getOpenFileName()、QFileDialog::getSaveFileName()、QFileDialog::getOpenFileUrl()等。使用方法类似。 #include<QFileDialog>QString FileOpen(){ QString strFileN...

2020-03-27 14:12:23 293

原创 QT开发应用程序(8)--布局管理QSplitter, QDockWidget,QStackWidget,QLayout

1、QSplitter的使用#include <QApplication>#include<Qsplitter>#include<QTextEdit>#include <QTextCodec>int main(int argc, char *argv[]){ QApplication a(argc, argv); QF...

2020-03-27 12:16:34 434

原创 QT开发应用程序(7)-- QT的按钮和信号槽函数

1、创建一个基于Dialog的QT工程QT的按钮有五类:QPushButtonQRadioButtonQCheckButtonQCommandLinkButtonQDialogButtonBox还有工具条的QToolButton,在别的地方说明。在界面上各类按钮创建一个实例,并在右侧属性栏中修改其名称和图标,也可修改其它属性,如下图所示:2,指定各个按钮的点击信号的槽函数注意:...

2020-03-27 10:57:19 10198

原创 QT开发应用程序(6)-- 正则表达式QRegExp类

QRegExp是Qt的正则表达式类。Qt中有两个不同类的正则表达式.通配模式? 匹配任意单个字符, 例如, 1?2可以为1,后面跟任意单个字符, 再跟2匹配任意一个字符序列. 例如, 1*2, 可以为1, 后面跟任意数量的字符[] 匹配一个定义的字符集合. 例如, [a-zA-Z.]可以匹配 a到z之间任意一个字符和. [^a]匹配出小写a以外的字符.利用正则式验证文本框的输入只...

2020-03-26 15:51:13 1386

原创 QT开发应用程序(5)-- QVariant类

QVariant类似于C语言的union和类似于MFC的_variant_t。使用一系列的to函数取出来。QVariant可以保存很多Qt的数据类型,包括QBrush、QColor、QCursor、QDateTime、QFont、QKeySequence、QPalette、QPen、QPixmap、QPoint、QRect、QRegion、QSize和QString,并且还有C++基本类型,如...

2020-03-26 15:00:42 387

原创 QT开发应用程序(4)-- 容器类(QList, QLinkedList, QVector, QMap, QHash)

QList、QLinkedList、QVectorQList、QLinkedList和QVector提供的操作相似,用QList就可以代替其它两个,QList比QVector更快。元素的储存位置彼此相邻时使用QVector。QList list; list << “1” << “2” << “3”; // list: [“1”, “2”, “3”]for...

2020-03-26 14:33:38 565

原创 QT开发应用程序(3)-- 字符串类QString

1、字符串相加QString strName = " 我叫";strName = strName + " 包不同"; // strName :我叫包不同strName = " 我叫";strName += " 包不同"; // strName :我叫包不同2、字符串appendQString strName = " 我叫";QString strAppend = " 包不同";s...

2020-03-26 13:47:42 769

原创 QT开发应用程序(2)-- 创建一个应用程序

一、启动QT Creater点击菜单【文件】中的【新建】即可创建一个新应用二、创建一个窗体应用程序选择【Application】、【Qt Widgets Application】之后,点击【Choose】按钮。填写项目名称和路径名。点击【下一步】可以选择基类QMainWindow,QWidget,QDialog.也可以默认【QMainWindow】,直接点击【下一步】这点选择第一项,...

2020-03-26 12:38:01 1601

原创 QT开发应用程序(1)-- 环境搭建

QT开发应用程序(1)-- 环境搭建下载QT安装包下载地址:https://www.qt.io/download:由于下载时需要注册,也可以国内的镜像网站如https://mirrors.tuna.tsinghua.edu.cn上找它的下载源。根据需要选择下载指定的版本。下载成功后即可安装。在visual studio2015中安装QT开发插件在菜单【工具】查找【扩展和更新】进入扩...

2020-03-26 11:09:15 199

CocosApp03.zip

实战源代码分享 (1) 取音效音量 float getEffectsVolume(); (2) 设音效音量 void setEffectsVolume(float volume); (3) 播放音效 unsigned int playEffect(const char* filePath, bool loop = false,loat pitch = 1.0f, float pan = 0.0f, float gain = 1.0f);

2020-04-22

CocosApp02.zip

本文源码在Debug-win32下编译运行通过。 ZIP包中包含开发环境,下载解压后可直接编译运行。 设备坐标系的原点在显示屏幕的左上角为原点(0,0)。X轴右向为正,Y轴是下向为正,

2020-04-22

CocosApp01.zip

本文源码在Debug--x86下编译成功运行。 ZIP包中包含开发环境,解压后可以直接运行。 创建第一个游戏程序,初识cocos2d-x程序框架

2020-04-21

OpenCV.17.zip

本文源码在Debug--x64下编译运行。 ZIP包中包含开发环境,下载解压可直接编译运行。 图像分割是图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分。

2020-04-20

OpenCV.16.zip

本文源码在Debug--x64下编译运行。 ZIP包中包含开发环境,下载解压后可直接编译运行。 在力学中,矩是表示距离和物理量乘积的物理量,表征物体的空间分布。原则上任何物理量和距离相乘都会产生力矩,质量,电荷分布等。单个点的力矩:,多个点则是积分的空间密度:,如果点表示质量,则第零矩是总质量,一阶矩是重心,二阶矩是转动惯量。

2020-04-20

OpenCV.15.zip

本文源码在Debug--x64下编译运行 ZIP包中包含开发环境,下载解压即可直接编译运行。 轮廓检测是从灰度图中检索物体的轮廓线。即提取边缘线。

2020-04-17

OpenCV.14.zip

本文源码在Debug--x64下编译 ZIP包中包含源开发环境,下载解压后可直接编译运行 模板匹配是从源图像中找出一个特定特征的区域图像。

2020-04-17

OpenCV.13.zip

本文源码在Debug -- x64下编译通过。 ZIP包中包含开发环境,下载解压可直接编译运行。 灰度直方图是灰度级的统计图,统计图像中各个灰度级的像元的个数。确定图像像元的灰度值范围,以适当的灰度间隔为单位将其划分为若干等级,以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。

2020-04-16

OpenCV.12.zip

本文源码在Debug--x64下编译 ZIP包中包含开发环境,下载解码可以直接编译运行。 ough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。

2020-04-16

OpenCV.11.zip

本文源代码在Debug--x64下编译运行。 ZIP包中包含开发环境,下载解压后可直接编译运行。 边缘提取,是对于图片轮廓的一个处理。对于边界处,灰度值变化比较剧烈的地方,就定义为边缘。也就是拐点,拐点是指函数发生凹凸性变化的点。二阶导数为零的地方。并不是一阶导数,因为一阶导数为零,表示是极值点。

2020-04-15

OpenCV.10.zip

ZIP包中包含开发环境,下载解压可直接编译运行。 图像阈值,即图像的分割基准,基于此可完成图像的二值化。

2020-04-15

OpenCV_Practice9.zip

本文源代码在Debug--x64下编译通过。 ZIP包中包含编译环境,下载后直接可编译。 图像金字塔是图像多尺度表达。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔底部由大尺寸的原图组成,越往上层,尺寸越小,堆叠起来就是一个金字塔的形式。

2020-04-15

OpenCV_Practice8.zip

本文件源程序在Debug--x64下编译运行通过。 Zip包中包含开发环境,解压后可直接编译 腐蚀膨胀可以消除噪声

2020-04-15

OpenCV_Practice7.zip

图像平滑处理抑制噪声、改善图像质量。本文源代码下Debug--x64下编译运行 Zip包中包含开发环境,可以直接编译运行。

2020-04-14

OpenCV_Practice6.zip

OpenCV 提供很多绘制线曲线的函数,还有在图像上写字的函数。本文源代码在Debug--64下编译运行,ZIP包中包含开发环境,可直接编译运行。

2020-04-14

OpenCV_Practice5.zip

通过重新计算颜色分量,可以修改图像的亮度和对比度。 graph(x,y) = graph_src(x,y) * alpha + beta

2020-04-14

OpenCV_Practice4.zip

通过不同的方法((1)权重计算分量法 (2)直接相加法 (3)乘法。),把两张大小相同的图像合成一张图,比较处理后的效果。

2020-04-14

OpenCV_Practice3.zip

Mat在OpenCV是非常重要的对象,存储图像数据。本例说明Mat的主要使用方法。ZIP包中包含开发环境,可直接编译运行。

2020-04-14

OpenCV_Practice2.zip

加载图像文件,显示图像,操作图像数据,本例在Debug -- x64下编译通过。 ZIP包中包含了开发环境,可以直接编译运行。

2020-04-14

OpenCV_Practice.zip

OpenCV图像处理开发实战(1) --开发环境搭建(VS2015为例)下载工程项目源文件,打包的ZIP中包含OpenCV头文件、OpenCV库文件和OpenCV动态文件

2020-04-13

一个简单的矢量shp文件编辑器

一个简单的矢量shp文件编辑器,有图有真相。开发环境是VS2015 QT5.11.2。其它版本的QT估计也可以。

2024-07-11

调用gdal库解析shp文件

地理信息系统离不开shp文件,自己写程序调用gdal库解析shp文件,看看shp文件里的内容。

2024-06-22

openscenegraph 0.9.7

osg 0.9.7 ,矮小精干,代码量小,便于学习和分析系统结构。

2024-05-16

opensceneGraph-0.9.6.2

osg-0.9.6.2,矮小精干,代码量小,便于学习和分析系统结构。

2024-05-16

osgearth1.4

osgearth1.4,矮小精干,代码量小,便于学习和分析系统结构。

2024-05-16

osgearth-1.0

osgearth早期版本,代码少,矮小精干,结构清晰,便于分析源码和学习。

2024-05-16

QT 开发不规则窗体的源程序

贴图式开发不规则窗体的源程序。工程中经常用不规则窗体美化界面,使用项目赏心悦目。

2024-04-10

qt调用器 debugger

qt debugger

2023-04-25

PaintWidgetInNoPaintEvent.zip

不在QWidget的paintEvent()函数中如何绘制图形

2021-06-06

fcitx-qt5-compiled.zip

fcitx-qt5-compiled.zip

2021-01-20

fcitx-qt5-source.zip

fcitx-qt5-source.zip

2021-01-20

ADO访问oracle数据库

连接数据库时,以ODBC连接数据库,需要配置ODBC,觉得有点麻烦。如果用ADO连接,省事。程序只需要置一下数据源即可。对应各种数据库(ORACLE,SQLSERVER,MYSQL等)都能轻松应对。

2020-10-29

qt_oci.rar

QT中 OCI的驱动没有带着,需要自己编译。把我编译的结果分享给网友们,注意我是在VS2015下编译的,与其它VS版本的目录可能有差别

2020-10-11

ThreadAndTimer.rar

启动一个线程的步骤: (1) 创建一个自己的线程类继承QT中的QThread类 创建线程类WorkThread; (2) 在自己的WorkThreak类中重新实现run()函数, 该函数是一个死循环, 主要是完成自己需要的功能代码 (3) 使用自己的类WorkThread 实例一个对象,也就是用该类创建一个变量 如: WorkThread *task = new WorkThread (this); (4) 然后通过start()函数启动这个线程, 如task->start();启动该线程

2020-07-16

CocosApp实战(11) -- Tile地图.zip

Tile地图是由块层和对象组成的,块层的作用是显示和一些重叠的时候覆盖角色的作用,而对象是可以进行一些事件的触发和处理的。 第一层块层是背景层,第二层块层是事物层或对像层。 一般情况下,主角(精灵)的移动时,移动地图。当地图在到边界时,不能移动时,才移动主角(精灵)(设置主角的位置)。

2020-05-25

CocosApp实战(10) --粒子系统.zip

粒子系统中需要包括四个部分: - 粒子对象 - 运动规律 - 随机性 - 粒子状态。 大量的粒子叠加就可以产生我们需要的特效。 cocos2d-x引擎中,粒子系统使用CCParticleSystem来表示,又分为两大类,重力式粒子系统CCParticleSystemPoint和放射式粒子系统CCParticleSystemQuad,两者在功能上略有不同。

2020-05-21

CocosApp实战(9) -- 动作行为.zip

cocos2d-x动作包括四类: - 瞬时动作 - 延时动作 - 组合动作 - 速度变化 - 定制扩展动作

2020-05-20

CocosApp08- 网络特效.zip

- CCShaky3D:3d晃动的特效 - CCShakyTiles3D:3d瓷砖晃动的特效 - CCWaves:波动特效 - CCWaves3D 3D波动特效 - CCWavesTiles3D:3D瓷砖波动特效 - CCFlipX3D:x轴3D反转特效 - CCFlipY3D:Y轴3D反转特效 - CCLens3D:凸镜特效 - CCRipple3D:水波特效 - CCLiquid:液体特效 - CCTwirl:扭曲旋转特效 - CCShuffleTiles:瓷砖的洗牌特效

2020-05-19

CocosApp07-场景切换.zip

场景切换: 某个场景替换当前场景,原先场景就被释放掉了。还有动画切换、压栈出栈切换。把新的场景压入栈中,并作为当前场景

2020-05-19

CocosApp04.zip

实战分享 Cocos2d-x提供了GUI元素,绘制丰富多彩的界面,其中包括:Label、Menu、MenuItems、Buttons和ScrollView、Slider、LoadBar、RadioButton、CheckBox、Layout、定时器等。

2020-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除