现在要在Windows桌面画一个十字坐标系,并显示屏幕该点象素的坐标值及RGB值。应该如何下手啊。请各位帮忙了。
解决方案 »
- 本人有一个cds文件 ,不知道有没有直接能够打开该文件的应用程序
- 翻译vb到delphi,哪位精通这两门最好懂MO的来翻译下
- ***************怎样才能提取SWF文件里的图片(JPG或BMP格式)?请大家给点建议*************
- AdvStringGrid升级的问题?
- 七月我想往上海找工作,大家看看行吗?
- 关于使用LISTVIEW VIRTUAL的问题
- 怎样知道WORD的内容已改变?程序怎么识别?
- ★我对CSDN和所有中国程序工人的一点点心声★
- delphi 急死了,请问各位关于eolesyserror with message"找不到成员"错误的解决办法
- 怎么没人回答,送分都不要?
- cczlp(不惑) 进来领分,关于《千分求最快的Base64编码函数》
- 有很多程序,表格中的下拉列表用鼠标点时显示的是代码,鼠标移开后,却显示为名称。
baidu里面搜索一下
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls;type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
MainMenu1: TMainMenu;
z1: TMenuItem;
sin1: TMenuItem;
cos1: TMenuItem;
cls1: TMenuItem;
exit1: TMenuItem;
procedure FormPaint(Sender: TObject);
procedure exit1Click(Sender: TObject);
procedure sin1Click(Sender: TObject);
procedure cls1Click(Sender: TObject);
procedure cos1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);
var oldx,oldy,xt,yt:integer;
st:real;
//rect1:trect;
const pi=3.14159;
begin
paintbox1.Top:=0;
paintbox1.Left:=0;
paintbox1.Width:=form1.clientWidth;
paintbox1.Height:=form1.clientHeight;
canvas.Pen.Color:=clblack; oldx:=round(form1.ClientWidth/2);
oldy:=round(form1.ClientHeight/2);
paintbox1.Canvas.MoveTo(oldx,0);
paintbox1.Canvas.LineTo(oldx,paintbox1.Height);
paintbox1.Canvas.MoveTo(0,oldy);
paintbox1.Canvas.LineTo(paintbox1.Width,oldy); for xt:=-9 to 9 do
if xt<>0 then
begin
st:=xt*10*pi;
paintbox1.Canvas.MoveTo(oldx+round(st),oldy-1);
paintbox1.Canvas.LineTo(oldx+round(st),oldy);
paintbox1.Canvas.TextOut(oldx+round(st)-10,oldy+1,inttostr(xt)+'/2π');
end;
for yt:=-9 to 9 do
if yt<>0 then
begin
st:=yt*20;
paintbox1.Canvas.MoveTo(oldx+1,oldy+round(st));
paintbox1.Canvas.LineTo(oldx,oldy+round(st));
paintbox1.Canvas.TextOut(oldx-20,oldy+round(st),inttostr(yt));
end;
end;procedure TForm1.exit1Click(Sender: TObject);
begin
form1.Free;
end;procedure TForm1.sin1Click(Sender: TObject);
var oldx,oldy,t:integer;
xt,yt:real;
begin
oldx:=round(form1.ClientWidth/2);
oldy:=round(form1.ClientHeight/2);
for t:=-oldx to oldx do
begin
xt:=t/20;
yt:=sin(xt);
paintbox1.Canvas.Pixels[t+oldx,oldy+round(yt*20)]:=clblack;
end;
end;procedure TForm1.cls1Click(Sender: TObject);
begin
paintbox1.Refresh;
end;procedure TForm1.cos1Click(Sender: TObject);
var oldx,oldy,t:integer;
xt,yt:real;
begin
oldx:=round(form1.ClientWidth/2);
oldy:=round(form1.ClientHeight/2);
for t:=-oldx to oldx do
begin
xt:=t/20;
yt:=cos(xt);
paintbox1.Canvas.Pixels[t+oldx,oldy+round(yt*20)]:=clblack;
end;
end;end.
这个怎么样............
lz可以考虑一下先把屏幕截取下来,然后对截取的屏幕转换成位图再操作,我这里有个类似的例子,lz想要的话留下EMail哈