如何检测系统当前的颜色,如是增强色(16位)就改为真彩色(32位)

aton 2002-03-22 01:12:28
如何检测系统当前的颜色,如是增强色(16位)就改为真彩色(32位)
...全文
286 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aton 2002-03-29
  • 打赏
  • 举报
回复
懒得提前了,还是自己去查api吧
aton 2002-03-26
  • 打赏
  • 举报
回复
如是增强色(16位)就改为真彩色(32位)
怎么写?
prometheusphinx 2002-03-25
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
dc: HDC;
begin
dc := GetDC(0);
ShowMessage(IntToStr(GetDeviceCaps(dc, BITSPIXEL)));
ReleaseDC(0, dc);
end;
huangcf 2002-03-25
  • 打赏
  • 举报
回复
对于不同的色彩数我们可以用启动时加以判断并选择相应的配色/图片方案。可在窗口建立时加入程序如下:
procedure TForm1.FormCreate(Sender: TObject);
var
colorbits:Integer;
begin
colorbits :=GetDeviceCaps( h, BITSPIXEL );
case colorbits of
1: //黑白配色方案;
....
4: //16色配色方案;
....
8: //256色配色方案;
....
16: //16位色配色方案;
....
24: //24位色配色方案;
....
32: //32位色配色方案;
....
end;
end;
这样就可以在不同的颜色环境下使用不同的配色方案,不同的图标/图片/色彩均在设计者的控制下,可制作出比较好的图片/彩色环境,而不至于在真彩时很不错,而在16色时一塌糊涂。

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧