⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc实现卡拉ok字幕叠加_1.htm

📁 GDI编程的参考资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
        <TR></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=603 border=0>
        <TBODY>
        <TR>
          <TD bgColor=#dee2f5 height=40>
            <TABLE height=40 cellSpacing=0 cellPadding=0 width=590 align=center 
            border=0>
              <TBODY>
              <TR>
                <TD align=middle><FONT 
              class=f22><B>VC实现卡拉OK字幕叠加</B></FONT></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD background=VC实现卡拉OK字幕叠加_1.files/newhard-040906_c_1.gif 
          height=1></TD></TR>
        <TR>
          <TD vAlign=top height=5></TD></TR>
        <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=0 width=603 border=0>
              <TBODY>
              <TR>
                <TD vAlign=top align=middle width=373 rowSpan=9>
                  <TABLE cellSpacing=0 cellPadding=0 width=373 align=center 
                  border=0>
                    <TBODY>
                    <TR>
                      <TD align=middle><SPAN id=pip></SPAN></TD></TR>
                    <TR>
                      <TD align=middle><IFRAME 
                        src="VC实现卡拉OK字幕叠加_1.files/y-soft-column-1.htm" 
                        frameBorder=0 width=360 scrolling=no 
                      height=50></IFRAME></TD></TR></TBODY></TABLE></TD>
                <TD width=5></TD>
                <TD vAlign=top width=220>
                  <TABLE cellSpacing=0 cellPadding=0 width=220 border=0>
                    <TBODY>
                    <TR>
                      <TD colSpan=2><FONT class=f21><B>[文章信息]</B></FONT></TD></TR>
                    <TR>
                      <TD colSpan=2 height=10></TD></TR>
                    <TR>
                      <TD vAlign=top width=62>作者:</TD>
                      <TD vAlign=top width=158><FONT 
                      color=#0e3e92>陆其明</FONT></TD></TR>
                    <TR>
                      <TD vAlign=top>时间:</TD>
                      <TD vAlign=top><FONT 
                    color=#0e3e92>2003-11-21</FONT></TD></TR>
                    <TR>
                      <TD vAlign=top>出处:</TD>
                      <TD vAlign=top><FONT color=#0e3e92>VCHelp</FONT></TD></TR>
                    <TR>
                      <TD vAlign=top>责任编辑:</TD>
                      <TD vAlign=top><FONT color=#0e3e92>方舟</FONT></TD></TR>
                    <TR>
                      <TD colSpan=2 height=10></TD></TR></TBODY></TABLE>
                  <TABLE cellSpacing=0 cellPadding=0 width=220 border=0>
                    <TBODY>
                    <TR>
                      <TD colSpan=2><FONT class=f21><B>[文章导读]</B></FONT></TD></TR>
                    <TR>
                      <TD colSpan=2 height=10></TD></TR>
                    <TR>
                      <TD vAlign=top colSpan=2><SPAN 
                        class=f14>本文介绍了卡拉OK字幕叠加的一般原理以及VC上使用GDI的一种简单实现</SPAN></TD></TR>
                    <TR>
                      <TD colSpan=2 height=10></TD></TR></TBODY></TABLE>
                  <SCRIPT 
                  language=JavaScript><!--var ad_id=1003//--></SCRIPT>

                  <SCRIPT language=JavaScript 
                  src="VC实现卡拉OK字幕叠加_1.files/10.js"></SCRIPT>
                </TD>
                <TD width=5></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
    <TD width=1 bgColor=#b9bebe rowSpan=13></TD>
    <TD vAlign=top align=middle width=170 bgColor=#ffffff rowSpan=13>
      <TABLE cellSpacing=5 cellPadding=0 width=165 border=0>
        <TBODY>
        <TR>
          <TD align=middle>
            <SCRIPT language=JavaScript><!--var ad_id=0403//--></SCRIPT>

            <SCRIPT language=JavaScript 
            src="VC实现卡拉OK字幕叠加_1.files/04.js"></SCRIPT>
          </TD></TR></TBODY></TABLE>
      <TABLE height=28 cellSpacing=0 cellPadding=0 width=160 
      background=VC实现卡拉OK字幕叠加_1.files/2004-30.gif border=0>
        <TBODY>
        <TR>
          <TD align=middle><B>advertisement</B></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=160 border=0>
        <TBODY>
        <TR>
          <TD width=1 bgColor=#adadad></TD>
          <TD align=middle bgColor=#ffffff><SPAN id=sv></SPAN></TD>
          <TD width=1 bgColor=#adadad></TD></TR></TBODY></TABLE>
      <TABLE height=1 cellSpacing=0 cellPadding=0 width=160 bgColor=#adadad 
      border=0>
        <TBODY>
        <TR>
          <TD></TD></TR></TBODY></TABLE>
      <TABLE height=10 cellSpacing=0 cellPadding=0 width=160 border=0>
        <TBODY>
        <TR>
          <TD></TD></TR></TBODY></TABLE>
      <TABLE height=28 cellSpacing=0 cellPadding=0 width=160 
      background=VC实现卡拉OK字幕叠加_1.files/2004-30.gif border=0>
        <TBODY>
        <TR>
          <TD align=middle><B>热点推荐</B></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=160 border=0>
        <TBODY>
        <TR>
          <TD width=1 bgColor=#adadad></TD>
          <TD align=middle bgColor=#ffffff>
            <TABLE cellSpacing=0 cellPadding=2 width=150 border=0>
              <TBODY>
              <TR>
                <TD width=7>· </TD>
                <TD width=143><A 
                  href="http://www.yesky.com/SoftChannel/72339069014638592/20041017/1864973.shtml" 
                  target=_blank>天极网软件频道改版调查</A></TD></TR>
              <TR>
                <TD width=7>· </TD>
                <TD width=143><A 
                  href="http://www.yesky.com/SoftChannel/72339069014638592/20041028/1869661.shtml" 
                  target=_blank>10.28软件精选 找乐还是赌钱</A></TD></TR>
              <TR>
                <TD width=7>· </TD>
                <TD width=143><A 
                  href="http://www.yesky.com/SoftChannel/72342389024358400/20041028/1869618.shtml" 
                  target=_blank>中国游戏业——被人们忽视的黑暗</A></TD></TR>
              <TR>
                <TD width=7>· </TD>
                <TD width=143><A 
                  href="http://www.yesky.com/SoftChannel/72356695560421376/20041028/1869602.shtml" 
                  target=_blank>Windows 2000密码破解不完全指南</A></TD></TR>
              <TR>
                <TD width=7>· </TD>
                <TD width=143><A 
                  href="http://www.yesky.com/SoftChannel/72350085605752832/20041028/1869596.shtml" 
                  target=_blank>解决XP SP2带来的网络故障(上)</A></TD></TR></TBODY></TABLE></TD>
          <TD width=1 bgColor=#adadad></TD></TR></TBODY></TABLE>
      <TABLE height=1 cellSpacing=0 cellPadding=0 width=160 bgColor=#adadad 
      border=0>
        <TBODY>
        <TR>
          <TD></TD></TR></TBODY></TABLE></TD>
    <TD width=1 bgColor=#b9bebe rowSpan=13></TD></TR>
  <TR>
    <TD vAlign=top bgColor=#f0f2fb height=5></TD></TR>
  <TR>
    <TD vAlign=top background=VC实现卡拉OK字幕叠加_1.files/newhard-040906_c_1.gif 
    bgColor=#f0f2fb height=1></TD></TR>
  <TR>
    <TD vAlign=top bgColor=#dee2f5>
      <TABLE height=25 cellSpacing=0 cellPadding=0 width=590 align=center 
      border=0>
        <TBODY>
        <TR>
          <TD width=90><FONT class=f21><B>[正文]</B></FONT></TD>
          <TD align=right width=480>
            <P align=right><FONT color=red>1 <A 
            href="http://www.yesky.com/SoftChannel/72342371928702976/20031121/1746826_1.shtml">2</A> 
            <A 
            href="http://www.yesky.com/SoftChannel/72342371928702976/20031121/1746826_2.shtml">3</A> 
            <A 
            href="http://www.yesky.com/SoftChannel/72342371928702976/20031121/1746826_3.shtml">4</A> 
            &nbsp;<A 
            href="http://www.yesky.com/SoftChannel/72342371928702976/20031121/1746826_1.shtml">下一页</A></FONT></P></TD>
          <TD align=middle width=20></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD vAlign=top background=VC实现卡拉OK字幕叠加_1.files/newhard-040906_c_1.gif 
    bgColor=#f0f2fb height=1></TD></TR>
  <TR>
    <TD vAlign=top bgColor=#f0f2fb height=10></TD></TR>
  <TR>
    <TD vAlign=top bgColor=#f0f2fb>
      <TABLE cellSpacing=0 cellPadding=0 width=590 align=center border=0>
        <TBODY>
        <TR>
          <TD><SPAN class=f14>
            <TABLE cellSpacing=0 cellPadding=5 width=570 bgColor=#fbe392 
            border=0>
              <TBODY>
              <TR>
                <TD>
                  <TABLE cellSpacing=0 cellPadding=5 width=570 border=0>
                    <TBODY>
                    <TR>
                      <TD align=middle width=200 bgColor=#e1b004><FONT 
                        color=#ffffff><A 
                        href="http://www.my5757.com/yesky/dy.jsp" 
                        target=_blank>天极IT资讯短信服务</A> <B>电脑小技巧</B></FONT><BR>
                        <TABLE cellSpacing=0 cellPadding=3 width="100%" 
                        bgColor=#fffcc0 border=0>
                          <SCRIPT>              function check4()              {               if (dn.mobile.value.length!=11)               {                alert("手机号码不正确!");                dn.mobile.focus();                return false;               }               return true;              }              </SCRIPT>

                          <FORM name=dn onsubmit="return check4()" 
                          action=http://www.my5757.com/tj/join.jsp 
target=_blank>
                          <TBODY>
                          <TR vAlign=center>
                            <TD>资费:包月5元<BR>手机: <INPUT 
                              style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 16px" 
                              size=11 name=mobile> <INPUT type=image height=18 
                              width=45 src="VC实现卡拉OK字幕叠加_1.files/d34.gif" 
                              align=middle border=0 name=image2> </TD></TR><INPUT 
                          type=hidden value=yjq name=stype> 
                      </FORM></TBODY></TABLE></TD>
                      <TD width=370 
                        bgColor=#fbc403>介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。(首月免费) 
                      </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>  <STRONG>一. 
            GDI编程基础 
            </STRONG><BR><BR>  字幕叠加,应当是属于图形、图像处理的范畴。在Windows平台上,图形、图像处理的方法当然首选GDI(Graphics 
            Device 
            Interface,图形设备接口)。GDI是什么?GDI其实是一套API函数;它们功能丰富,使用起来简单、灵活。下面,我们首先来介绍一些GDI编程的基础知识。<BR><BR><IFRAME 
            align=right marginWidth=0 marginHeight=0 
            src="VC实现卡拉OK字幕叠加_1.files/dell-notebook-pip.htm" frameBorder=0 
            width=360 scrolling=no 
            height=300></IFRAME>  GDI函数有很多,我们大致可以把它们分成如下几类:<BR><BR>  · 
            设备上下文(Device Context,简称DC)函数,如GetDC、CreateDC、DeleteDC等;<BR><BR>  · 
            画线函数,如LineTo、Polyline、Arc等;<BR><BR>  · 
            填充画图函数,如Ellipse、FillRect、Pie等;<BR><BR>  · 
            画图属性函数,如SetBkColor、SetBkMode、SetTextColor等;<BR><BR>  · 
            文本、字体函数,如TextOut、GetTextExtentPoint32、GetFontData等;<BR><BR>  · 
            位图函数,如SetPixel、BitBlt、StretchBlt等;<BR><BR>  · 
            坐标函数,如DPtoLP、LPtoDP、ScreenToClient、ClientToScreen等;<BR><BR>  · 
            映射函数,如SetMapMode、SetWindowExtEx、SetViewportExtEx等;<BR><BR>  · 
            元文件(MetaFile)函数,如PlayMetaFile、SetWinMetaFileBits等;<BR><BR>  · 
            区域(Region)函数,如FillRgn、FrameRgn、InvertRgn等;<BR><BR>  · 
            路径(Path)函数,如BeginPath、EndPath、StrokeAndFillPath等;<BR><BR>  · 
            裁剪(Clipping)函数,如SelectClipRgn、SelectClipPath等。<BR><BR>  上述这些函数可以完成绘制用户界面中的各个部分,包括我们在Windows平台上司空见惯的窗口、菜单、工具条、按钮等。除了完成显示操作功能外,GDI还提供了一些绘图对象,用以渲染显示。这些GDI对象包括:<BR><BR>  设备上下文(DC)——具有如显示器或打印机等输出设备的绘图属性信息的数据结构;<BR><BR>  画笔(Pen)——用于绘制线条;<BR><BR>  画刷(Brush)——用于图案的填充;<BR><BR>  字体(Font)——用于确定文本字符的样式;<BR><BR>  位图(Bitmap)——用于存储图像;<BR><BR>  调色板(Palette)——屏幕上画图时可以使用的一些颜色的集合。<BR><BR>  DC在GDI中是一个非常重要的概念。在MSDN上查看各个GDI函数的使用说明,我们会发现大部分GDI函数都有一个HDC类型的参数;HDC就是DC句柄。Windows应用程序进行图形、图像处理的一般操作步骤如下:<BR><BR>  1. 
            取得指定窗口的DC;<BR><BR>  2. 确定使用的坐标系及映射方式; <BR><BR>  3. 
            进行图形、图像或文字处理;<BR><BR>  4. 
            释放所使用的DC。<BR><BR>  为了进一步简化GDI函数的使用,或者说为了适应面向对象的程序设计风格,微软的MFC类库提供了几个DC的封装类。这些类的继承关系如下: 
            <BR><BR><IMG 
            onerror="this.src='http://www.yesky.com/image20010518/85980.jpg';" 
            hspace=3 src="VC实现卡拉OK字幕叠加_1.files/85980.jpg" align=center vspace=1 
            border=1><BR>图1 关于DC的几个MFC类的继承关系 
            <BR><BR>  我们知道,绝大部分MFC类都是从CObject类派生的,CDC类也不例外。我们看到,CDC类是最基本的DC封装类;它几乎对应封装了所有的GDI函数。另外,CDC类的各个派生类各有专门的用途:<BR><BR>  CClientDC——在窗口的客户区画图的DC;<BR><BR>  CMetaFileDC——用于操作Windows元文件的DC;<BR><BR>  CPaintDC——响应WM_PAINT消息时画图使用的DC,多见于MFC程序的OnDraw函数中;<BR><BR>  CWindowDC——在整个窗口范围(包括框架、工具条等)中画图的DC。<BR><BR>  MFC除了对DC进行类封装外,对其它GDI对象也进行了类封装。这些类的继承关系如下:<BR><BR><IMG 
            onerror="this.src='http://www.yesky.com/image20010518/85981.jpg';" 
            hspace=3 src="VC实现卡拉OK字幕叠加_1.files/85981.jpg" align=center vspace=1 
            border=1><BR>图2 
            GDI对象的MFC封装类的继承关系<BR><BR>  CGdiObject——GDI对象的父类,定义了GDI对象封装类的一些公有函数接口;<BR><BR>  CBitmap——位图相关操作的封装类,包括位图的装入或创建等;<BR><BR>  CBrush——画刷对象的封装类;<BR><BR>  CFont——字体属性及相关操作的封装类;<BR><BR>  CPalette——调色板的封装类;<BR><BR>  CPen——画笔对象的封装类;<BR><BR>  CRgn——区域对象以及区域相关操作的封装类。<BR><BR>  通过上述介绍,相信读者对GDI编程有了一定的了解。接下去,我们就来讨论卡拉OK字幕叠加的实现原理。<BR><BR></SPAN><BR></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD vAlign=top bgColor=#f0f2fb height=10></TD></TR>
  <TR>
    <TD vAlign=top background=VC实现卡拉OK字幕叠加_1.files/newhard-040906_c_1.gif 
    bgColor=#f0f2fb height=1></TD></TR>
  <TR>
    <TD vAlign=top bgColor=#dee2f5>
      <TABLE height=25 cellSpacing=0 cellPadding=0 width=590 align=center 
      border=0>
        <TBODY>
        <TR>
          <TD width=90></TD>
          <TD align=right width=480>
            <P align=right><FONT color=red>1 <A 
            href="http://www.yesky.com/SoftChannel/72342371928702976/20031121/1746826_1.shtml">2</A> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -