Win32_GDI_绘制文字路径透明窗口
效果图:

前面字体是个透明窗口
后面是桌面背景
代码实现:
void MyMainDialog::TextPathWindow(LPCTSTR lpShowText)
{
HDC hdc = GetDC(m_hWnd); // 创建字体,并选入当前DC中
HFONT hfont = CreateFont(TEXT("华文行楷"), -80,0,900);
HGDIOBJ hOldFont = SelectObject(hdc, hfont); // 路径的开始
BeginPath(hdc); SetBkMode(hdc,TRANSPARENT); // 设置背景透明
TextOut(hdc,18, 18, m_szShowText,lstrlen(m_szShowText)); // 输出文本 EndPath(hdc); //路径的结束 HRGN hrgn;
hrgn = PathToRegion(hdc); // 根据路径创建HRNG
SetWindowRgn(m_hWnd, hrgn, TRUE); // 设置窗口的HRNG // 删除字体对象
DeleteObject(SelectObject(hdc, hOldFont));
} // 在WM_INITDIALOG消息中加入 LRESULT MyMainDialog::OnInitDialog(LPARAM lParam)
{
// 添加消息响应代码 SetTimer(m_hWnd, 9999, 500, nullptr); m_szShowText = new TCHAR[100];
lstrcpy(m_szShowText, TEXT("正在回到原点"));
TextPathWindow(m_szShowText); return 0;
} // 在WM_TIMER消息中添加 LRESULT MyMainDialog::OnTimer(WPARAM wParam)
{
// 添加消息响应代码
lstrcat(m_szShowText, TEXT("."));
if (lstrlen(m_szShowText) > 10)
lstrcpy(m_szShowText, TEXT("正在回到原点")); TextPathWindow(m_szShowText); return 0;
}
Win32_GDI_绘制文字路径透明窗口的更多相关文章
- Qt 2D绘图之三:绘制文字、路径、图像、复合模式
一.绘制文字 除了绘制图形以外,还可以使用QPainter::darwText()函数来绘制文字,也可以使用QPainter::setFont()设置文字所使用的字体,使用QPainter::font ...
- [Qt2D绘图]-04绘制文字&&绘制路径
注:学习自<Qt Creator 快速入门>第三版. 文档中的示例参考 Qt Example推荐:Painter Paths Example和Vector Deformation ...
- IOS开发 图形绘制,绘制线条,矩形,和垂直和居中绘制文字
概述 吐槽下IOS下 的图形绘图,代码冗长,不得不自己重新封装方法.整理形成本文. 绘制线 // 绘制直线 + (void)toDrawLineFromX:(CGFloat)x1 Y:(CGFloat ...
- Canvas入门(3):图像处理和绘制文字
来源:http://www.ido321.com/997.html 一.图像处理(非特别说明,所有结果均来自最新版Google) 在HTML 5中,不仅可以使用Canvas API绘制图形,也可以用于 ...
- html5--5-11 绘制文字
html5--5-11 绘制文字 学习要点 掌握文字的绘制方法 文字的绘制方法 strokeText("文字",x,y,maxWith) 绘制(描边)空心文字 fillText(& ...
- SolidEdge如何在零件上写字 如何绘制文字
在草图状态下,插入-文字轮廓 可以按这两个按钮调节文字的大小和位置 之后你可以通过长出或除料把文字凸起或者凹下去 如果你要制作路径文字(比如环形文字),则先绘制一条圆或一段圆弧,并设为构造 ...
- [Swift通天遁地]八、媒体与动画-(5)使用开源类库绘制文字、图形、图像、图表、SVG(可缩放矢量图形)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 【朝花夕拾】Android自定义View篇之(三)Canvas绘制文字
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10968358.html],谢谢! 前面的文章中在介绍Canvas的时候,提到过后续单独讲Can ...
- C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字
C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字 上一篇实现了把文字绘制到OpenGL窗口,但实质上只是把含有文字的贴图贴到矩形模型上.本篇我们介绍用Poi ...
- C#+OpenGL+FreeType显示3D文字(2) - 用GLSL+VBO绘制文字
C#+OpenGL+FreeType显示3D文字(2) - 用GLSL+VBO绘制文字 +BIT祝威+悄悄在此留下版了个权的信息说: 上一篇得到了字形贴图及其位置字典(可导出为XML).本篇就利用此贴 ...
随机推荐
- Nuxt3 的生命周期和钩子函数(三)
title: Nuxt3 的生命周期和钩子函数(三) date: 2024/6/27 updated: 2024/6/27 author: cmdragon excerpt: 摘要:概述了Nuxt3的 ...
- 网络OSI七层模型及各层作用 tcp-ip
背景 虽然说以前学习计算机网络的时候,学过了,但为了更好地学习一些物联网协议(MQTT.CoAP.LWM2M.OPC),需要重新复习一下. OSI七层模型 七层模型,亦称OSI(Open System ...
- C# Linq俩个list<Datarow> 取差集,并自定义字段
可以自定义类 ,也可以从参考官网文档:Enumerable.Except 方法 (System.Linq) | Microsoft Learn List<DataRow> list1 = ...
- Windows 7操作系统全面解析与实用技巧
Win7操作系统 一.操作系统的概述 1.1操作系统的概念 操作系统(operating system,简称OS)一组控制和管理计算机系统的硬件和软件资源.控制程序执行.改善人机界面.合理地组织计算机 ...
- 【ClickHouse】6:clickhouse集群高可用
背景介绍: 有四台CentOS7服务器安装了ClickHouse HostName IP 安装程序 程序端口 shard(分片) replica(备份) centf8118.sharding1.db ...
- Java socket 获取gps定位
1.Java socket 获取gps定位的方法 在Java中使用Socket来直接获取GPS定位信息并不直接可行,因为GPS数据通常不是通过Socket通信来获取的.GPS数据通常由设备(如智能手机 ...
- SDL3 入门(5):纹理渲染
创建纹理 有三个 API 可以用来创建纹理: SDL_CreateTexture 参数少,使用方便,适用于创建简单的纹理 SDL_CreateTextureFromSurface 适用于从已有图像数据 ...
- webpack4.15.1 学习笔记(八) — 缓存(Caching)
目录 输出文件名(Output Filenames) 缓存第三方库 将 js 文件放到一个文件夹中 webpack 打包模块化后的应用程序,会生成一个可部署的 /dist目录,只要 /dist 目录中 ...
- Java实现快速快速排序算法
算法简介 快速排序(Quick Sort) 是由冒泡排序改进而得的.在冒泡排序过程中,只对相邻的两个记录进行比较,因此每次交换两个相邻记录时只能消除一个逆序.如果能通过两个(不相邻)记录的一次交换直接 ...
- [rCore学习笔记 010]基于 SBI 服务完成输出和关机
RustSBI的两个职责 它会在计算机启动时进行它所负责的环境初始化工作,并将计算机控制权移交给内核 在内核运行时响应内核的请求为内核提供服务 这里用不太确切的话表述一下,RustSBI作为介于内核和 ...