- 博客(115)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
转载 QT-QPainter介绍
介绍可以在QPaintDevice类上绘制各种图形 QPaintDevice类表示QPainter的绘图设备(画布) QpaintDevice子类有QImage、QOpenGLPaintDevice、QWidget 等 所以, QPainter可以在QImage、QOpenGLPaintDevice、QWidget上进行绘制图形 QPainter只能在类对象的paintEvent()函...
2019-01-22 10:24:24
4307
3
转载 MFC Button控件自绘
VC下的界面着实难看 有时候我们不得不自己进行控件的绘制 以前 一直不理解最近再次看了学了一遍终于明白了一点 与大家分享下... 需要源代码的Q我 寻找一起学VC的朋友 比如说 我们要改变一个编辑框的背景 我们响应WM_CTLCOLOR函数 进行OnCtlColor进行修改但是对与 Button控件就不行了 .. 这时候我们要进行自绘制 相关函数 ...
2018-12-20 14:41:59
488
转载 加解密/数字签名/证书 原理
引言在一些比较重要的应用场景中,通过网络传递数据需要进行加密以保证安全。本文将简单地介绍了加密解密的一些概念,以及相关的数字签名、证书。加密和解密说到加密,可能大家最熟悉的就是MD5了。MD5实际上只是一种散列运算,或者可以称为单向的加密,即是说无法根据密文(加密后的数据),推导出明文(原数据)。而我们下面要说明的,是在加密后可以进行解密、还原数据的。对于欲进行加密的对象,有的人称为消...
2018-08-01 19:17:03
688
转载 C++知识回顾: __stdcall、__cdcel和__fastcall三者的区别
__stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。调用协议常用场合 __stdcall:Windows API默认的函数调用协议。 __cdecl:C/C++默认的函数调用协议。 __fastcall:适用于对性能要求较高的场合。 函数参数入栈方式 __...
2018-07-31 17:36:53
354
转载 使用def文件简化dll导出
使用def文件简化dll导出在C++中,我们可以通过 __declspec(dllexport) 将函数导出为Dll中供其它程序使用,例如: _declspec(dllexport) int add(int a, int b);在这种方式下,如果调用该dll的是一个c++程序(同一个编译器的版本)是没有问题的。但是,如果调用该dll是一个其它语言的程序(如C#、VB),则会出错。...
2018-07-31 17:29:19
243
转载 CSP应用开发-CryptAPI函数库介绍
基本加密函数为开发加密应用程序提供了足够灵活的空间。所有CSP的通讯都是通过这些函数。一个CSP是实现所有加密操作的独立模块。在每一个应用程序中至少需要提供一个CSP来完成所需的加密操作。如果使用多于一个以上的CSP,在加密函数调用中就要指定所需的CSP。微软基本加密提供者(Microsoft Base Cryptographic Provider),是缺省绑定到CryptoAPI 里的。如果没有...
2018-06-29 10:13:40
897
转载 QSS的用法和实例
使用qss 可将功能与界面的设计分离开,方便UI设计,也可以制作更多更美的界面。在代码中调用qss文件:QFile styleSheet(":/qss/myStyle.qss"); if (!styleSheet.open(QIODevice::ReadOnly)) { qWarning("Can't open the style sheet file.");
2017-04-10 17:40:47
801
转载 vsnprintf和snprintf
vsnprintf和snprintf是C语言printf家族函数的成员,相关函数列表如下:#include int printf(const char *format, ...); //输出到标准输出 int fprintf(FILE *stream, const char *format, ...); //输出到文件 int sprintf(cha
2017-01-16 13:10:02
715
转载 PAL和NTSC的区别
1. NTSC制又称为恩制。它属于同时制,是美国在1953年12月首先研制成功的,并以美国国家电视系统委员会(National Television System Committee)的缩写命名。这种制式的色度信号调制特点为平衡正交调幅制,即包括了平衡调制和正交调制两种,虽然解决了彩色电视和黑白电视广播相互兼容的问题,但是存在相位容易失真、色彩不太稳定的缺点。NTSC制电视的供电频率为60Hz
2016-12-20 14:14:38
12930
转载 svn分支开发与主干合并(branch & merge)
[转载地址:http://blog.youkuaiyun.com/bbirdsky/article/details/24620155,原文地址不清楚]下面我将step by step地演示如何一次完整的branching和merging,包括创建分支、分支开发、分支和主线同步,分支合并到主线的全过程,甚至包括如何在本地创建一个测试用的repository。首先需要安装TortoiseSVN,我
2016-10-17 17:02:46
381
转载 Fragmented MP4文件格式
MP4文件的基本单元是“box”,这些box既可以包括data,也可以包括metadata。MP4文件标准允许多种方式来组织data box和metadata box。将metadata放在data之前,客户端应用程序可以在播放video/audio之前获得更多的关于video/audio的信息,因此这种方式在大多数的多媒体应用场景都是比较有用的。但是,在流媒体应用场景,不可能预先保存关于整个流数
2016-09-09 15:36:02
786
转载 MP4文件Boxes的层次结构
MP4文件的基本组成单元是box,也就是说MP4文件是由各种各样的box组成的,有parent box,还有children box。因此,这些boxes之间存在一定的层次关系,总结如下表所示,表中标记出了各个box必选或可选特性,√代表Box必选。ftyp √
2016-09-09 14:53:14
588
转载 AAF技术及其在后期制作系统中的应用
在广播电视领域,随着计算机和网络技术的引入,AV和IT技术正日益融合,这从根本上改变了电视节目的制作流程,大大降低了节目的制作成本,提高了工作效率。素材交换格式——AAF、MXF以及元数据的应用,是实现AV和IT融合的技术基础。本文重点介绍AAF技术,并探讨AAF技术在后期制作中的应用,以及对后期制作流程的影响。一 AAF简介AAF是一个协会(www.aafassociation.
2016-08-12 16:21:04
1672
转载 C++编程实现从注册表中获取程序安装路径并调用exe文件
利用注册表函数获取程序安装路径的宽字符和WINEXEC方法参数不一致的问题。附上代码如下:#include#includeusing namespace std;#define RTN_ERROR 13#pragma comment(lib, "advapi32")int main(void){#define MY_BUFSIZE
2016-07-25 17:56:59
1888
转载 OpenGL入门学习
说起编程作图,大概还有很多人想起TC的#include 吧?但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。1、与C语言紧密结合。O
2016-02-29 16:51:42
1364
转载 云计算的三种服务模式:IaaS,PaaS和SaaS
云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。 “云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。 任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是CTO,所以
2016-02-16 13:57:43
555
转载 c++类的构造函数详解
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。 c++类的构造函数详解 一、 构造函数是
2016-01-11 11:20:31
702
1
转载 深刻理解C#中资源释放
首先,我们需要明确2个概念。第一个就是很多人用.Net写程序,会谈到托管这个概念。那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的资源;因此对于Stream,数据库的连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到.Net管理而统称为非托管资源。而对于内存的释
2015-11-03 13:43:16
4967
转载 C# 给对象赋null值会释放内存吗?
比如A a=new A();a=null;这时候a所占用的内存会释放掉吗?还是只是将a的指针改变为null,而new A();产生的数据仍在内存中?另外请问string a="";和string a=string.Empty;是一样的吗? 不一定,这个涉及到GC 垃圾回收机制,具体的回收是由.NET运行时决定的,但是只有对象不再执行任何引用时才会释放,也就是说你的a=null;
2015-11-03 13:16:41
8425
转载 C#中 ListView控件行高的巧妙设置
C#中ListView控件Detail显示,是没有行高这个属性的,但可以通过设置imagelist“撑高”行距。 ImageList il=new Imagelist(); //设置高度 il.ImageSize = new Size(1, 20); //绑定listView控件 listView1.SmallImageList = il; 大功告成!
2015-10-19 14:02:00
3624
转载 解决:对 PInvoke 函数的调用导致堆栈不对称问题
c# 调用C++dll是报错:问题描述: 在使用托管代码调用非托管代码时,发生“对 PInvoke 函数“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::GetFirstPic”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和
2015-10-16 10:24:55
8361
转载 C#操作SQL Server数据库
1、概述2、连接字符串的写法3、SqlConnection对象4、SqlCommand对象5、SqlDataReader对象6、DataSet对象7、释放资源1、概述ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤:第一,使用SqlConnection对象连接数据库;第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用;
2015-09-24 13:21:23
598
转载 C#调用C++DLL的小总结5---和C++的DLL的联合调试
现在有一个问题,就是如果C#调用C++的DLL,复杂一些的数据传递,或者DLL将数据再传递,那么数据的正确传送与否,怎么办呢?调试下断点看内存中的数据是最好的方法,可是地球人都知道,C#是在托管平台上的,而C++DLL是在非托管平台上的。内存的格式啥的都是不一样的,那怎么办呢?微软早就想到了。方法如下:第一步:在C#的解决方案上右键“属性”---“调试”---勾选“启用非托管代码调试”。
2015-09-18 13:30:59
514
转载 C++中引用和指针的区别
下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别首先,引用不可以为空,但指针可以为空。前
2015-09-16 16:37:45
560
转载 Marshal类的两个方法StructureToPtr和PtrToStructure实现序列化
我们主要是使用Marshal类里的两个方法:第一个是StructureToPtr,将数据从托管对象封送到非托管内存块。第二个是PtrToStructure,将数据从非托管内存块封送到新分配的指定类型的托管对象。只要有了这两个相互转换的方法,我们就可以实现序列化了。首先我们先来看下序列化序列化:有一个前提条件,那就是我们必须要知道需要序列化对象的大小。第一步:我们先求出对
2015-09-14 10:38:22
9551
转载 C#调用C++ dll 时,涉及到函数参数类型的转换,这里是C++和C#的类型对照表
//C++中的DLL函数原型為 //extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char* 变量名2) //extern "C" __declspec(dllexport) bool 方法名二(const unsigned char* 变量名1, char* 变量名2
2015-09-10 14:26:10
1071
转载 解决C# winForm自定义鼠标样式的两种实现方法详解
第一种:(调用系统API)首先引入两个命名空间using System.Runtime.InteropServices;using System.Reflection;导入API[DllImport("user32.dll")]public static extern IntPtr LoadCursorFromFile(string fileName);[DllIm
2015-08-06 12:26:26
8282
1
转载 C#中的Invoke
在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往会想当然地这么写:void ButtonOnClick(object sender,EventArgs e){ button.Text="关闭";}这样的写法运行程序之后,可
2015-07-16 10:37:17
484
转载 MFC对话框 OnClose() 和 OnDestroy() 调用区别
OnClose():消息响应函数,响应WM_CLOSE消息,当"关闭"按钮被单击的时候(而不是我们眼睛所见的对话框从屏幕上消失时),该函数被调用,用户在响应OnOk()或者OnCancel()函数之后,不会发送WM_CLOSE消息OnDestroy():消息响应函数,响应WM_DESTROY消息,当一个窗口即将被销毁时,被发送在单视图程序中,根据>所讲,程序退出时执行的操作顺序为:(1)用户点
2015-06-05 17:23:30
8340
转载 C++ 统计程序运行耗时的几种方法的总结
方法一 利用GetTickCount函数(ms)代码:CString str; longt1=GetTickCount();//程序段开始前取得系统运行时间(ms) 。。。。。。//to do sthlongt2=GetTickCount();//程序段结束后取得系统运行时间(ms) str.F
2015-05-22 16:26:22
16034
转载 获得数据表的所有列名
1.获取所有用户名 SELECT name FROM Sysuserswhere status='2' and islogin='1' islogin='1'表示帐户 islogin='0'表示角色 status='2'表示用户帐户 status='0'表示糸统帐户2.获取所有数据库名 SELECT Nam
2015-05-18 17:28:11
807
转载 修改SQLServer2008数据库文件名称(数据文件和日志文件)
假设原来数据库名为db,附加数据库为db.mdf和db_log.ldf。 需要改成dbt,及dbt.mdf和dbt_log.ldf。步骤: 1.首先把原来的数据库进行备份(选择数据库->右键->任务->备份),备份出db.bak文件。 2.新建数据库dbt,右键->任务->还原->数据库,跳出“还原数据库”窗口。 3.选择“源设备”,
2015-05-12 13:48:26
5002
原创 sql 中 in 和 exists 的 用法和区别
in 和 exists也是很好区别的.in 是一个集合运算符.a in {a,c,d,s,d....}这个运算中,前面是一个元素,后面是一个集合,集合中的元素类型是和前面的元素一样的. 而exists是一个存在判断,如果后面的查询中有结果,则exists为真,否则为假.in 运算用在语句中,它后面带的select 一定是选一个字段,而不是select *.
2015-05-05 13:39:42
511
转载 单通道和多通道图像相关概念
在做机器视觉时,常常要将一个多通道图像分离成几个单通道图像或者将几个单通道图像合成一个多通道图像,以方便图像处理,但是。写这篇博客,是为加深对单通道图像和多通道图像这两个概念的理解。 图像通道在RGB色彩模式下就是指在下就是指那单独的红色R、绿色G、蓝色B部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。同样在HSV色系中指的是色调
2015-04-09 13:56:10
9105
转载 DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏的详细解释
DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏的详细解释最近有些朋友在看《深入浅出MFC》的时候,被第三章的几个宏给卡住了,记得我第一次看此书时,也被这几个宏给卡住。当然真正卡人的其实是第一个,也就是DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC。我做了一个详解,供同样被卡住的朋友做个参考:)说明:这两个宏的主要目的,是在所指定的class(比
2015-04-07 16:43:45
840
转载 AlphaBlend
AlphaBlend实现透明效果,不过只能针对某块区域进行alpha操作,透明度可设。TransparentBlt可以针对某种颜色进行透明,不过透明度不可设。 AlphaBlend:BLENDFUNCTION bn;bn.AlphaFormat = 0;bn.BlendFlags = 0;bn.BlendOp = AC_SRC_OVER;bn.S
2015-04-03 16:45:08
841
转载 Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示
如果还为了这个纠结,就直接看看后面的解说,做决定吧。一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的。 sql server中的varchar和Nvarchar有什么区别? 答:varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字
2015-03-26 11:19:29
949
转载 startUML画用例图
用例图概述:由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图参与者:是指存在于系统外部并直接与系统交互的人、系统或设备等参与者的分类:参与者按是否使用系统核心功能可分为主要参与者与次要参与者参与者在start uml工具中如图表示:用例概述:是系统为参与者提供的功能,对于用例的命名我们可以给用例取一个简单的名称,概括性的名称。一
2015-03-12 16:08:43
19850
Qt中调用VC++ dll, 函数指针的参数列表类型如何转换
2018-10-18
VC6 静态编译的Release程序,编译通过运行报错
2018-07-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人