CnPack Forum » CnVCL 组件包 » 在AAFont基础上写的一个水平滚动控件


2007-12-27 20:15 Bear_hx
在AAFont基础上写的一个水平滚动控件

在TAAGraphicControl的基础上继承,支持TAAFontEffect字体效果的水平滚动控件,管理员看看是否可以加入组件包。

2007-12-27 23:18 Passion
感谢关注。
请问在哪儿?

2007-12-28 22:36 Bear_hx
我已经把代码发给你。

2007-12-28 22:48 Bear_hx
控件代码在你的Cnpack邮箱里面。附件是演示Demo

2007-12-29 00:42 Passion
能否告知您发的邮件主题是什么?不好意思,每天接近上千封垃圾邮件,不容易找。:L

2007-12-29 00:47 Passion
啊不对,我论坛中登记的邮件地址还是passion这个旧的。估计没收到。:L
发到[email]master@cnpack.org[/email]吧?

2007-12-29 12:16 Passion
代码非常不错,如果您同意开源的话,可以加入CnPack组件包。
新组件拟命名为TCnAAMarqueeText(字幕文本组件),并入AACtrl.pas文件,文件中将保留您的署名。
请问您意下如何?:handshake

2007-12-29 12:41 jAmEs_
支持~~

2007-12-29 16:36 Bear_hx
个人没有问题,谢谢版主可以加入控件组

2007-12-29 16:37 Bear_hx
个人没有问题,谢谢版主可以加入控件组

2008-1-3 15:19 kendling
好占资源噢。

2008-1-6 14:32 croslq
你这个程序速度有问题,哈哈,我把你哪个demo最大化,速度就明显变慢


应该优化一下,如:只滚动变化哪一块,
哈哈,不好意思,我只是提出了个人使用的感觉

[[i] 本帖最后由 croslq 于 2008-1-6 14:35 编辑 [/i]]

2008-1-7 10:07 Passion
哪位朋友有兴趣来优化一下?:)

2008-1-11 16:00 Bear_hx
你这个程序速度有问题,哈哈,我把你哪个demo最大化,速度就明显变慢

应该优化一下,如:只滚动变化哪一块,
哈哈,不好意思,我只是提出了个人使用的感觉

最大化是很占CPU资源的,因为平滑是取附近的点进行运算平滑的,代码:
  for j := 0 to RGBBmp.Height - 1 do
  begin
    pMask := Mask.ScanLine(j);
    pRGB := RGBBmp.ScanLine[j];
    for i := 0 to RGBBmp.Width - 1 do
    begin
      Weight := pMask^[i] * AAlpha shr 8; //混合系数
      if Weight <> 0 then
      begin
        if Weight = 255 then
        begin                           //前景色
          pRGB^[i].rgbtBlue := b;
          pRGB^[i].rgbtGreen := g;
          pRGB^[i].rgbtRed := r;
        end
        else
        begin                           //混合
          Inc(pRGB^[i].rgbtBlue, Weight * (b - pRGB^[i].rgbtBlue) shr 8);
          Inc(pRGB^[i].rgbtGreen, Weight * (g - pRGB^[i].rgbtGreen) shr 8);
          Inc(pRGB^[i].rgbtRed, Weight * (r - pRGB^[i].rgbtRed) shr 8);
        end;
      end;
    end;
  end;
所以控件不能太大,不然运算范围很大,CPU就占用很严重。

2008-1-17 19:50 croslq
你只选取你滚动的地方,叠加三

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.