如何做出像【酷狗】显示歌词的功能(VC++)

编写思路:

根据字体取得边界,然后作为以画刷的方式,根据歌词所设置的时间有慢有快的画过来。

(1)调用BeginPath()函数来打开设备上下文的路径支架(path bracket).
(2)调用GDI绘图函数来定义径径。使用的函数有:CloseFigure(),ExtTextOut(),LintTo,MoveToEx(),PolyBezier(),PolyBezierTo(),Polygon,Polyline,PloyPolygon(),PolyPolylin(),和TextOut.
(3)调用EndPath()函数结束路径定义。完成路径定义之后,所定义的路径即被同时选进设备描述表,设置描述表中原有的路径对象在调用BeginPath()函数开始路径定义时即被废弃。
(4)使用路径对象。完成路径定义之后,应用程序便可以利用有关GDI函数来使用路径。

StrokePath() 用于绘制路径轮廓
FillPath() 用于填充路径
StrokeAndFillPath() 用于绘制轮廓及填充
PathToRegion() 用于把路径转为区域 --------这个你会很常用的
GetPath() 用于提取路径数据
还有一些不一一列出了。

一般步骤:
准备窗口的DC:
CPainDC dc(this);
dc.SetBkMode(TRANSPARENT);
CRect rc;
GetClientRect(rc);

准备好字体
LOGFONT lf
dc.GetCurrentFont()->GetLogFont(&lf);
CFont font,*POldFont;
lf.lfCharSet=134;
lf.lfHeight=-100;
lf.lfWidth=0;
strcpy(lf.lfFaceName,"隶书");
font.CreateFontIndirect(&lf);
pOldFont=dc.SelectObject(&font);

准备好画刷
CSize sz=dc.GetOutputTextExtent("你要输入出歌词");
CPen pen(PS_SOLD,1,RGB(255,0,0)),*pOldPen; //更改当前画笔
CBrush br(HS_DIAGCROSS,RGB(0,255,255)),*pOldBrush; //更改当前的刷子
pOldBrush=dc.SelectObject(&br);

然后:
dc.BeginPath();
dc.TextOut(rc.right/2-sz.cx/2,rc.bottom/2-sz.cy/2,"你要输入的歌词);
dc.EndPath();
dc.StrokeandFillPath(); --绘制出路径,这就算完成了.
来源:http://topic.csdn.net/

如何做出像【酷狗】显示歌词的功能(VC++)相关推荐

  1. 实现 酷狗音乐 歌词播放效果

    今天将为大家带来 粗略版 酷狗音乐 歌词播放的效果.我们一步一步来.首先做这个是因为有一次公司项目中需要做一个汽车扫描效果的时候,想到来做这个歌词播放效果的.那么我们这次先上效果图: 好的上面的文字是 ...

  2. android歌词效果,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    引言 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  3. Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    引言 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  4. 学习笔记--实现类似酷狗音乐歌词的效果

    一直以来都是,想起一个问题了,就网上查资料,就看别人的博客.这样发现好多时候,其实这个问题以前查过了,每次都得浪费精力再查,而且结果还不一定好.所以呢,以后遇到问题还是要找个靠谱的地方记录下来,学着在 ...

  5. KRSReader酷狗音乐歌词写真图片提取工具(提取KRS文件中的图片)

    最近发现酷狗音乐中的歌词写真图片还是比较给力的,很多友友表示喜欢,但是苦于不懂得如何提取,小菜利用周末闲暇时间写了一个小工具,专门用来提取酷狗音乐歌词写真图片. 废话不多说,软件界面如下: 使用说明: ...

  6. php中文歌词,将酷狗krc歌词解析并转换为lrc歌词php源码

    最近在进行一次对酷狗音乐歌词采集时发现酷狗音乐的歌词直接浏览都是"乱码",自己平时所见的歌词都是lrc格式的文本,这种酷狗专用的krc格式的显然是经过特别处理过的,平时用酷狗听音乐 ...

  7. android仿酷狗界面,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    简介 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  8. android 渐变歌词,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

    引言 该开源依赖库是乐乐音乐播放器里的一个歌词模块功能,现在把该功能模块独立出来进行优化,并弄成了一个开源依赖库,其它音乐播放器项目只要引用该库并调用接口,便可轻松实现与乐乐音乐播放器一样的动感歌词显 ...

  9. 使用Android4.4新增新媒体功能中的音量增强器LoudnessEnhancer实现仿酷狗音乐一键强音功能

    转载请注明:http://blog.csdn.net/u012854870/article/details/58604351 由于自己开发的音乐播放器,安装在公司自己生产的平板上,播放音乐的时候,当媒 ...

最新文章

  1. linux ctrl+r撤销_Linux入门基础,掌握这些命令,不再做小白
  2. python视频教程从入门到精通全集-零基础小白python从入门到精通视频(全60集)...
  3. linux C编程之makefile
  4. c语言串口通信_stm32 串口通信收发说明
  5. CreateProcess的使用方法
  6. Ubuntu 安装调整工具移动 Launcher 启动器位置
  7. 【itext学习之路】--5.对pdf进行盖章/签章/数字签名
  8. Exchange2003-2010迁移系列之十一,Exchange2010 OWA配置
  9. 【优化求解】基于matlab粒子群算法求解干扰受限无人机辅助网络优化问题【含Matlab源码 230期】
  10. Unity3D学习 ④ Unity导入商店资源,实现基本的奔跑、攻击动作切换与交互
  11. 全国省市区数据SQL - 2017年数据(三级联动)
  12. 旧版Wordpress的备案整改技巧
  13. 如何破解Win7之开机密码
  14. TCP的四次挥手为什么需要2MSL ?
  15. 清华学霸尹成Python教程
  16. CocoaPods禁止显示警告inhibit_all_warnings
  17. vscode配置c++环境并解决中文乱码问题
  18. 如何使用树莓派连接电脑无线网络热点并查看树莓派ip地址
  19. 易点易动助力企业固定资产信息化管理
  20. 电商基本功:被小瞧的促销设计,并没有想得那么简单

热门文章

  1. asio(八)、异步TCP服务器
  2. 英语中容易按字面意思屈解的词汇和短句
  3. p6-day07 作业
  4. 《杀手2:影子阴谋》生存通关攻略
  5. 打造你的 Alfred 神器 - 我喜欢的 workflow 整理
  6. RecycleView列表中下拉刷新图片错乱的问题
  7. Android UI Paint实战-滤镜
  8. 重装系统后如何恢复mysql数据
  9. 如何利用word做出一个漂亮的目录
  10. 不敢辞职,不建议辞职,不能辞职