如何使字符串颜色产生过度变化效果?(100分)

  • 主题发起人 主题发起人 riverzjs
  • 开始时间 开始时间
R

riverzjs

Unregistered / Unconfirmed
GUEST, unregistred user!
如:
一行字符串从上到下颜色由兰色变到黑色的效果
如何在Delphi中实现。
 
恐怕要输出到图片上,然后对图片进行处理
 
可是这个字符串是根据程序运行情况
经常变化的。
 
字符串显示时要多大,如果就是正常的文本,就delphi而言不可能
如果大一些的话,可以想办法,读出字符的轮廓,然后画出来,难
 
很容易:
1. 将文字写到一个bmp上, 将其作为mask. (bitmap.mask(Transparent_color))
2. 在另一个bmp上画颜色渐进效果
3. 按文字的mask将颜色渐进效果bmp画到屏幕上.
 
LMD组件有这么一个控件可以用,虽然我不知道它如何实现,但由于它有源代码,
所以您不妨一看。我的主页上也有。http://glowing.yeah.net
 
象wps2000一样?
 
一定非要 delphi 实现吗?本来是很简单就能做的图片,在 delphi 中就难了。
而且图片还可能很大
 
舍近求远
 
我的程序从一文本文件中读取很多字符串(成千上百),
如果每个字符串都做成BMP图,不要做死过去了。^o^
 
结束问题吧.
解决问题只有2种方法:
1. 输出到bmp然后进行运算.(目前的windows下所有渐进方式都是用这方法
实现的, 好象没人死过去).
2. 找Bill_Gates重写windows
 
的确,WIN32的字体都不支持,只好借助与位图
 
no,不用位图也可以的.
实际上你的问题归根结底,就是怎样单独写出文本某一行line,
用canvas.textrect函数就可以做到,关键是把rect定义成只有
一根线就可以了,然后循环一下就可以了.

具体代码懒的写了.
 
附注: 写中间的line的时候,注意把y坐标定义到rect的上面去(小于rect.top).
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部