怎么得到桌面屏幕显示的颜色质量???(50分)

  • 主题发起人 主题发起人 zbdbx
  • 开始时间 开始时间
Z

zbdbx

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么得到桌面屏幕显示的颜色质量??
也就是在桌面点右键=>属性=>设置里面的那个颜色质量//
用编程怎么得到这个信息??

我知道有一个screen对象,但是找不到这个属性/

望高手指点/
 
另外我用截屏的方法

procedure TForm1.Button2Click(Sender: TObject);
var
bmp : Tbitmap;

begin
bmp := Tbitmap.Create;
// bmp.PixelFormat := pf24bit;
GetScreen(bmp); //自定义函数
// type TPixelFormat = (pfDevice, pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit, pf32bit, pfCustom);
showmessage(inttostr(integer(bmp.PixelFormat)));
bmp.Free;
end;

也只能得到0,也就是TPixelFormat=pfDevice
除非保存在硬盘上重新打开才能得到它的颜色质量
 
加入以下代码就可以了:)(在Form1 中加入Tlable组件,name属性为labelvideo不要忘了在头部分加入math)
var
tcs,bpp,cp,tc:int64;
begin
labelvideo.caption:='显示器:当前分辨率为:'+inttostr(screen.width)+'*'+inttostr(screen.height);
bpp:=getdevicecaps(form1.canvas.handle,BITSPIXEL);
tcs:=round(power(2,bpp));
cp:=getdevicecaps(form1.Canvas.Handle,PLANES);
tc:=round(Power(tcs,cp));
labelvideo.caption:=labelvideo.Caption + ';色深为:'+'inttostr(tc);
end;
 
后退
顶部