功能介绍

採用GDIPlus绘制桌面歌词,相似酷狗、QQ音乐等软件。
歌词支持纯色、两色渐变、三色渐变;支持高亮歌词。

实现方法

窗体部分:桌面歌词是个独立的背景透明窗体。能够移动位置,能够鼠标穿透.透明採用WS_EX_LAYERED、UpdateLayeredWindow。鼠标穿透能够增加WS_EX_TRANSPARENT样式。
歌词部分:用Graphics::MeasureString取出文字的宽度/高度。把文字增加GDIPlus的路径(GraphicsPath),然后绘制边框(Graphics::DrawPath)、採用线性渐变画刷(LinearGradientBrush)填充渐变路径(Graphics::FillPath)。
高亮部分:依据当前的进度百分比,计算出高亮部分的宽度,通过Graphics::SetClip设置剪辑区域,再绘制高亮颜色。

开发环境

VC版源代码:Visual Studio 2005/MFC/GDIPlus
易语言版:易语言5.11。全API实现,不依赖第三方支持库

源代码下载

CSDN下载:http://download.csdn.net/detail/cometnet/7603185
百度网盘:http://pan.baidu.com/s/1sj4S1hN

GDIPlus绘制桌面歌词的更多相关文章

  1. 如何在 pyqt 中实现桌面歌词

    前言 酷狗.网抑云和 QQ 音乐都有桌面歌词功能,这篇博客也将使用 pyqt 实现桌面歌词功能,效果如下图所示: 代码实现 桌面歌词部件 LyricWidget 在 paintEvent 中绘制歌词. ...

  2. 【Android】桌面歌词悬浮效果简单实现

    在使用"网易云音乐"的时候,发现有一个显示"桌面歌词"的功能,于是就想着自己实现下.查了下资料,是用WindowManage实现的.实现过程中也出现了些问题,看 ...

  3. Ubuntu 桌面歌词

    Ubuntu 有个用来显示歌词软件叫 osd-lyrics. 这个软件的强大之处在于他可以和各种播放器配合, 并且可以自动下载歌词. 自从升级到14.04后不能用了,便以为该软件被废弃了. 无意中发现 ...

  4. Win7 与win10绘制桌面壁纸的区别

    win7使用csrss.exe绘制壁纸. win10使用explorer.exe绘制壁纸.

  5. Android 文字绘制(DrawText)技术总结

    这里的绘制文字不是直接调用TextView.setText(String content)去展示文字内容.而是在View上面通过 canvas.drawText(text, x, y,textPain ...

  6. Android 使用View绘制文字(DrawText)技术总结

    转载请注明出处: http://www.cnblogs.com/renhui/p/7453534.html 这里的绘制文字不是直接调用TextView.setText(String content)去 ...

  7. 将centos7打造成桌面系统

    前言以下所有操作默认在root权限下执行,桌面环境是kde,使用gnome的也可以参考一下.我收集的以下要用到的一些安装包,360网盘http://yunpan.cn/csMhBAp92vTgN 提取 ...

  8. Android自定义View,高仿QQ音乐歌词滚动控件!

    最近在以QQ音乐为样板做一个手机音乐播放器,源码下篇博文放出.今天我想聊的是这个QQ音乐播放器中歌词显示控件的问题,和小伙伴们一起来探讨怎么实现这个歌词滚动的效果.OK,废话不多说,先来看看效果图: ...

  9. 网易云音乐 歌词制作软件 BesLyric (最新版本下载)

    导读 BesLyric , 一款专门制作 网易云音乐 LRC 滚动歌词的软件! 搜索.下载.制作 歌词更方便! 哈哈,喜欢网易云音乐,又愁于制作歌词的童鞋有福啦!Beslyric 为你排忧解难! 本文 ...

随机推荐

  1. oracle 手动配置服务器端和客户端

    1.oracle 服务器端配置 将oracle安装完成之后,在Net Configuration Assistant配置 1.监听程序配置 先找到Net Configuration Assistant ...

  2. IBatis的分页研究

    IBatis的分页研究 博客分类: Ibatis学习   摘自: http://cpu.iteye.com/blog/311395 yangtingkun   Oracle分页查询语句 ibaits. ...

  3. canvas一周一练 -- canvas绘制奥运五环(1)

    运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=" ...

  4. 前端零基础快速入门JavaScript

    JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到<head>中: <html><head> <script&g ...

  5. vue-element-admin使用常见问题

    一.vue-element-admin添加快捷导航 这个组件是基于vue-i18n因此,首先在项目中安装i18n npm install --save vue-i18n 然后main.js中引入 im ...

  6. eclipse 新建 maven 项目 + 消除错误

    安装eclips以及maven自行去了解,这里不讲解 一.新建一个 maven 项目. 二.下一步选择项目架构 三.填写相关信息 group id: 一般都是 com点 项目名 aftriact.id ...

  7. python logger日志

    直接上代码 import logging import logging.handlers import datetime import time import threading from conf. ...

  8. 关于ajax跨域解读

    首先要了解何为跨域,(协议.域名.端口任意一个不同)的web资源.如何解决跨域:1,jsonp 它只支持GET请求而不支持POST等其它类型的HTTP请求:例如angular 中,如下使用,$http ...

  9. Python面向对象一些阶段性总结

    什么时候用面向对象??? 1.共同的方法,提出来.共同的方法可以产生一个连接,其他方法可以使用,例如传文件,和执行命令都需要建立连接,关闭连接 例如 获取连接,...操作..关闭连接 2.创建模板.造 ...

  10. LINUX-磁盘空间

    df -h 显示已经挂载的分区列表 ls -lSr |more 以尺寸大小排列文件和目录 du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间' du -sk * | sort -rn ...