工具栏的DisableImage显示算法问题(300分)

  • 主题发起人 主题发起人 陈冲伟
  • 开始时间 开始时间

陈冲伟

Unregistered / Unconfirmed
GUEST, unregistred user!
据Delphi文档说,如果TToolBar控件的DisableImage为nil,而
ToolBar中的按纽需要显示Enabled=False时的图象时,Delphi会根
据某种算法对Enabled=True时的图象进行处理,并生成一个Disable
效果的图象。
结果我在应用中发现Delphi生成的Diable图象的效果很差,图象
基本上是模糊不清的。如我使用的放大/缩小图标是两个放大镜,中间
用‘+', '-' 区分,在Disable之后,这两个放大中间全是灰色的,根
本无法区分开来。另外象标准的'保存 ', '打印'图标在 Disable 后都
是模糊不清的。我原来以为是我的程序的设置问题,然而发现Delphi
集成环境中的Disable图象也是如此,这使我彻底绝望了。
在Delphi中的图象库中提供了buttons图象,这些图象也是同时包括Enable
和Disabled图象的,看来Inprise也意识到了这个问题。但是就那几张图片
又怎么会够用呢?而且每个按纽都要提供两张图片,不是增加了程序的开销了
吗?
我试了VB, 发现它就完全没有这样的问题, Disable后的图象十分清晰。
我又分析了TCostomImageList的原代码,发现它实现DisableImage的算法
就是将原图复制到黑白图片上,然后处理一下。感觉好象是黑白图片中的问题。
我查过《电子与电脑》第五期,其中是有一篇关于在Windows中编程实现DisableImage
效果的文章,但是在Delphi中的DiableImage用的好象是另一种方法,不知能否对其进行
改写.
我听说可以用PhotoShop或其他工具自己做DisableImage, 不知具体如何操作? 网上
是否也有图标和DisableImage可以下载的?
另外, 在我的ToolBar中, 有些Image需要DisableImage, 而另一些则不需要, 如何
能使我的DisableImage只放入需要的一些DisableImage,以节省程序空间.

各位大侠,我该怎么办?要解决这个问题,是改写Delphi的原代码,还是手
工另做一套DisableImage,或者...?
 
其实稍微看看photoshop就可以作出disableimage
我就是这样作的,效果很好
 
老大啊:使用稍微大一点的按钮就可以了!
 
To GGCAT:
使用大按钮的方案我也想过的, 但是一堆大按钮会使原来就很小的屏幕空间变得更为
局促.
 
自己再做一套吧
 
时间充裕就自己做,最后锐化处理
 
陈冲伟:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部