MFC字幕颜色变化的实现

本文介绍了如何使用MFC实现字幕颜色变化,达到卡拉OK字幕效果。通过SetTimer函数创建定时器,配合DrawText函数在矩形区域内平滑地改变文字颜色。详细讲解了SetTimer的使用及DrawText函数参数设置,文中还提到利用GetTextMetrics获取字符高度,并通过调整RGB值控制颜色变化。
摘要由CSDN通过智能技术生成
        # MFC字幕颜色变化的实现

大家好,这是我第一次写博客hhhh。我写博客的目的呢,主要是督促自己进行编程方面的学习,还有记录并总结学习过程中一些技术与感悟。我的文章里肯定有很多不足之处,还希望大家能给我指出来!

今天给大家分享的是利用mfc实现字幕的变色,做出类似于卡拉ok字幕的效果,达到平滑变色的目的。首先,介绍下步骤:

  1. 做一个定时器按时发送消息
  2. 利用DrawText函数输出文字
    主要的步骤就是这两个,原理呢,DrawText函数可以把文字的输出局限在一个矩形的范围内,如果输出的文字太多,超过所设定的矩形范围,就截断输出的文字,只显示在设定的矩形内的那部分文字。

1)做定时器:
可以使用SetTimer函数。首先来看一下SetTimer函数在msdn上的定义UINT SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD) );
第一个参数是一个标识,即函数调用成功,这个标识将作为返回值返回;
第二个参数是定时器的时间间隔,即隔多久发送一次定时器消息WM_TIMER,注意:它以毫秒为单位;
第三个参数是一个指向回调函数的的指针,设置回调函数后,当定时器发送消息后,回调函数就会执行去处理这个消息。在这里,我们将此参数设为NULL,即当定时器发送消息后直接将此消息发送给应用程序的消息队列,然后由程序中响应此消息的窗口对象来处理。

贴一下代码1-1:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值