自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ceffans的博客

鸟随鸾凤腾飞远,人随贤良品自高。

  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++将32位深图片处理成灰度图

计算公式为:灰度 = RED * 0.299 + GREEN * 0.587 + BLUE。拿到像素值后对像素做灰度化处理,根据RGB颜色的权重计算灰度值。

2024-09-19 12:49:23 144

原创 C++实现BMP图像旋转90度

先定义两个结构,BMP文件头结构跟BMP信息头结构。另外如果嫌弃处理速度慢也可使用SSE算法优化处理。拿到像素后之后做旋转操作:此处按32位深处理。

2024-09-19 12:38:57 170

原创 C++实现多边形旋转

【代码】C++实现多边形旋转。

2024-09-18 15:44:21 118

原创 使用soui4绘制五边形跟五角星

五边形填充跟五角星填充一样,不止这些其他的填充都一样。主要就是创建一个渐变画刷然后填充。五角星只是在五边形的基础上算出连接点再将这些点连起来绘制一个多边形。绘制的最核心的部分就是定位点的计算,然后将点连起来绘制一个多边形。

2024-09-18 14:44:50 360

原创 判断线是否相交、判断点是否在线上、求线相交交点

【代码】判断线是否相交、判断点是否在线上、求线相交交点。

2024-09-15 10:53:56 181

原创 使用soui4实现一个Banner控件

Demo代码:https://github.com/JeanPenty/BannerDemo。

2024-09-14 13:56:15 213

原创 soui4实现窗口3D旋转

【代码】soui4实现窗口3D旋转。

2024-09-12 15:58:29 347

原创 使用soui4实现一个拾色器控件

在solider控件更改滑块位置时需要通知拾色器控件。

2024-09-12 10:52:05 768

原创 RGB与CMYK互转

这种处理方式的不足之处是RGB与CMYK在互转过程中会损失精度。

2024-09-11 16:08:45 204

原创 soui4中拓展spinButton控件使其支持double类型或者其他类型

主要的地方就是先获取按下的状态根据自身的业务做加减操作或者递增递减操作。将spin控件点击事件跟edit关联起来。2、在布局中使用控件。

2024-09-11 12:47:33 223

原创 使用soui4实现镜像绘制

【代码】使用soui4实现镜像绘制。

2024-09-10 10:48:07 305

原创 使用Zlib库进行多文件或者多文件夹的压缩解压缩

zlib库可在git上自己clone下来然后使用cmake工具生成解决方案,编译、生成zlib二进制文件。

2024-09-06 14:18:05 411

原创 使用soui4实现弧形文本的绘制

弧形文本的绘制跟正常文本绘制有不同的地方是弧形文本需要根据弧度范围内一个一个字符的绘制。

2024-09-06 13:54:42 128

原创 使用soui4实现一个打印排版软件(十四)将排版的图像导出

【代码】使用soui4实现一个打印排版软件(十四)将排版的图像导出。

2024-09-04 14:19:10 520

原创 使用soui4实现一个打印排版软件(十三)PDF元素控件实现

PDF元素的移动、拉伸参考rect的实现,这里我们主要看看PDF的绘制部分代码。我这边的做法是先将PDF页面生成一张图片,然后跟图片控件一样进行贴图展示。关于PDF的解析这边使用了第三方开源库mupdf。以上就是PDF控件的实现以及使用。先注册,再在容器中创建元素。

2024-09-03 13:13:07 518

原创 使用soui4实现一个打印排版软件(十二)图片元素控件实现

图片元素的移动、拉伸参考rect的实现,这里我们主要看看图片的绘制部分代码。超级简单的就是加载图片然后把图片贴到对应的区域。以上就是图片控件的实现以及使用。先注册,再在容器中创建元素。

2024-09-03 10:07:09 161

原创 使用soui4实现一个打印排版软件(十一)二维码元素控件实现

以上就是二维码控件的实现以及使用,此处只实现了QRCODE码,其他的诸如DATAMATRIX、PDF417等码制可参考二维码的实现方式实现。二维码元素的移动、拉伸参考rect的实现,这里我们主要看看二维码的绘制部分代码。先注册,再在容器中创建元素。

2024-09-03 09:35:38 578

原创 使用soui4实现一个打印排版软件(十)EAN13码实现

【代码】使用soui4实现一个打印排版软件(十)EAN13码实现。

2024-09-03 09:19:41 231

原创 基于soui4实现一个打印排版软件(九)EAN8码实现

【代码】基于soui4实现一个打印排版软件(九)EAN8码实现。

2024-09-03 08:42:53 118

原创 使用soui4实现一个打印排版软件(八)UPCE码实现

【代码】使用soui4实现一个打印排版软件(八)UPCE码实现。

2024-09-02 21:29:56 238

原创 使用soui4实现一个打印排版软件(七)UPCA码实现

第一部分的绘制区域为条码开始区域至第一个线条的位置,第二部分为第四个线条右侧至第15个线条的左侧,第三部分为第16个线条的右侧至第27个线条的左侧,第三部分为倒数第一个线条的右侧至条码区域的结束位置。对于文本的绘制与CODE128码不同的是文本绘制需要分为4部分;第一部分是首位、第二部分为2-6位、第三部分为7-11位、第四部分为校验位。以下是关于UPCA、UPCE、EAN8、EAN13等长短不一以及文本分开的码制条码的实现。以上即为UPCA码条码的绘制。

2024-09-02 16:57:22 401

原创 使用soui4实现一个打印排版软件(六)条形码元素控件

以上就是条码控件的实现以及使用,此处只实现了CODE128码,其他码制的实现类似。需要注意的是这里文本跟条码的绘制是分开绘制的。如果是EAN8、EAN13、UPCA或者UPCE此类长短不一的线条还需要做特殊的处理。条码元素的移动、拉伸参考rect的实现,这里我们主要看看条码的绘制部分代码。条码生成使用了开源库zint。该库实现了全部的常用码制。先注册,再在容器中创建元素。

2024-09-01 15:51:08 611

原创 使用soui4实现一个打印排版软件(五)文本元素控件

移动以及拉伸处理跟rect元素一样。不一样的地方就在绘制的实现。效果如下:自上而下依次为单行文本、多行文本、填充文本。

2024-08-31 17:36:41 140

原创 使用soui4实现一个打印排版软件(四)椭圆、圆、三角形、菱形元素控件

椭圆、圆、三角形、菱形元素的移动以及拉伸处理跟rect元素一样。2、往画板容器中放置元素。

2024-08-30 13:13:08 611

原创 使用soui4实现一个打印排版软件(三)为元素增加拉伸移动操作

在基类CEleBase中定义操作点、鼠标光标以及操作点计算相关代码。以矩形元素为例,为其增加移动、拉伸大小相关功能。在Rect元素中绘制操作点。

2024-08-30 11:02:33 236

原创 使用soui4实现一个打印排版软件(二)矩形元素控件

先定义个元素基类用来定义元素公共参数。2、往画板容器中放置元素。矩形元素类定义&实现。

2024-08-30 09:30:42 149

原创 使用soui4实现一个打印排版软件(一)

实现一个画板容器控件用来放置元素对象。

2024-08-27 13:42:59 450

原创 使用soui4实现一个标尺控件

Step2:布局中使用。

2024-08-27 12:52:48 308

原创 拓展SOUI中SImRichEdit控件的视频OLE控件(VideoOle)

视频定位控件数据可分为两部分:可见部分:播放按钮、加载按钮、视频第一帧图片、视频时长不可见部分:视频URL以下为VideoOle控件头文件部分: extern "C" const GUID IID_VideoOleCtrl; class RichEditVideoOle :public RichEditOleBase { DECLARE_REOBJ(RichEditVideoOle, L"...

2018-03-26 14:14:15 542

原创 拓展SOUI中SImRichEdit控件的定位OLE控件(LocationOle)

定位控件可以分为两个部分:展示部分:包括展示定位图片、定位标题、定位地址;数据部分:当前地址纬度(latitude)、经度(longitude);以下为LocationOle控件的头文件部分: extern "C" const GUID IID_LocationOleCtrl; class RichEditLocationOle :public RichEditOleBase { DECL...

2018-03-22 19:28:13 778

原创 拓展SOUI中SImRichEdit控件的语音OLE控件(AudioOle)

extern "C" const GUID IID_AudioOleCtrl; class RichEditAudioOle :public RichEditOleBase { DECLARE_REOBJ(RichEditAudioOle, L"audio") public: enum ReAudioState { REAUDIO_STATE_NOPLAY, // 未播...

2018-03-21 16:58:36 553

原创 SOUI中事件中心的使用

在soui中为了方便将工作者线程中的处理结果及时反馈到UI线程设计了事件中心来解决此类问题。在使用事件中心需要注意的事项如下:首先, 要new一个事件中心对象,既然new了对象当然就要delete,相关代码如下: SNotifyCenter *pNotifyCenter = new SNotifyCenter; // BLOCK: Run application

2017-10-31 15:23:18 1414 3

原创 使用GDIPlus模仿实现QQ截图

开发环境:系统:Win7 64bits;编译器:Visual Studio 2008 + SP1;相关技术:MFC, GDIPlus我们先来说说截图的原理;截图无非就是获取屏幕某个时间点的快照,然后再对此快照进行各种我们自己想要的操作,以达到我们自己想要的效果以下为获取屏幕快照的相关代码://拷贝屏幕到位图中HBITMAP CCaptureSc

2017-03-15 13:34:14 1251

Turn3D-Demo

Turn3D-Demo

2024-09-12

模仿QQ截图工具

模仿QQ实现截图工具,基本实现QQ所有功能 实现截图,以及对截图的各种操作

2018-08-26

Snapshot截图工具

C++实现截图工具,支持矩形、椭圆、箭头、涂鸦、马赛克、文本以及操作回撤等功能,启动即可截图,一次启动后台运行使用快捷键Ctrl+Shift+A即可唤醒截图

2018-07-18

空空如也

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

TA关注的人

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