最近想写一个小程序,其中有一个功能是获得鼠标所指位置的颜色值。就象photoshop的取色器一样.
解决方案 »
- 《重构——改善既有代码的设计》这本书怎么样?
- 急!使用SUM查詢,如果記錄為空,SUN出來的值當然為空,可是在DELPHI怎樣進行判斷?
- 下面这些VC代码要怎么改成DEPHI的啊
- 希望各位能给小弟我介绍几本关于delphi中idhttp控件和isapi的书;
- 关于如何设置关键字的问题!
- 如何使去掉声音中的低音部分
- 呵呵,刚下了个reprint控件,但小弟初次上手,还不知道怎样安装,望各位老师能详告之
- ★★★★★和大家讨论一下如何往数据库中保存一个大字段(比如文件)★★★★★
- 数据处理问题????
- 怎样取整和取余?还有5.9分别取出5 和 0.9怎么做?
- 一则笑话
- 这个 format 是什么意思
interfaceuses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;type
Tgetcol = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
procedure FormClick(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Panel1Click(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure FormResize(Sender: TObject);
private
tx,ty : integer;
procedure WMEraseBkng(var MSg:TWMEraseBkgnd);message WM_ERASEBKGND;
public
{ Public declarations }
end;var
getcol: Tgetcol;
implementation{$R *.DFM}
const
Digits : array[0..$F] of Char = '0123456789ABCDEF';function HexB(B : Byte) : string;
{-Return hex string for byte}
begin
HexB[0] := #2;
HexB[1] := Digits[B shr 4];
HexB[2] := Digits[B and $F];
end;procedure Tgetcol.WMEraseBkng(var MSg:TWMEraseBkgnd);
begin
Msg.Result:=1;
end;procedure Tgetcol.FormClick(Sender: TObject);
var t : tcolor;
r,g,b : byte;
begin
t := canvas.pixels[tx,ty];
r := getRvalue(t);
g := getGvalue(t);
B := getBvalue(t);
LABEL2.COLOR := T;
LABEL1.CAPTION := '$00' + HEXB(R) + HEXB(G) + HEXB(B);
end;procedure Tgetcol.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
tx := x;
ty := y;
end;procedure Tgetcol.Panel1Click(Sender: TObject);
begin
CLOSE;
end;procedure Tgetcol.FormDblClick(Sender: TObject);
begin
close;
end;procedure Tgetcol.FormResize(Sender: TObject);
begin
panel1.top := height - panel1.height -1;
panel1.left := width - panel1.width -1;
panel1.visible := true;
end;end.