用delphi怎么画透明的圆 我用Image2.Canvas.Ellipse(Circle.Left,Circle.Top,Circle.Right,Circle.Bottom);画的圆是实心的,如何画空心圆? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那是因为image本身的问题,只要在上面画,就会自动有背景颜色,你可以在其他组件上画,比如form或者panel unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);begin canvas.Pen.Color:=clGreen; canvas.Ellipse(100,100,300,300);end;end. unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;type TForm1 = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private fselecting:boolean; fbeginpt,fendpt:tpoint; { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin fselecting:=true; fbeginpt:=Form1.ScreenToClient(mouse.CursorPos);end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin fselecting:=false; fendpt:=Form1.ScreenToClient(mouse.CursorPos); Self.Repaint;end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin fendpt:=Form1.ScreenToClient(mouse.CursorPos); if fselecting then begin Canvas.FillRect(Canvas.ClipRect); canvas.Ellipse(rect(fbeginpt,fendpt)); canvas.Pen.Color:=clred; Canvas.Pen.Width:=1; end;end;end. 这个就可以,画之前先设置Canvas.Brush.Style := bsClear; 另类思路:放个圆形、透明的Tshape 请教关于socket的端口问题,就只这点分了,感谢! 下面的代码哪里错了,系统总是在SQL.ADD处报错 进货表是要做一个表好,还是多个表好?????? SqlServer2000中的DateTime字段值, 如何屏蔽Win键?急需!在先等待,成功马上送分。 请问视图中可否带参数操作?? 如果要完成各种情况的NAT穿越,至少需要几个外网服务器 又一个语句错误问题,麻烦高手指点一下. 哪位大虾知道如何让程序在1024*768下和在800*600下一样,即锁定比例??? 这是难题吗?(有谁遇到过) 简单的问题(100分送) delphi做OCX浏览WEB服务器上TIFF文件
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);
begin
canvas.Pen.Color:=clGreen;
canvas.Ellipse(100,100,300,300);
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
fselecting:boolean;
fbeginpt,fendpt:tpoint;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
fselecting:=true;
fbeginpt:=Form1.ScreenToClient(mouse.CursorPos);
end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
fselecting:=false;
fendpt:=Form1.ScreenToClient(mouse.CursorPos);
Self.Repaint;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
fendpt:=Form1.ScreenToClient(mouse.CursorPos);
if fselecting then
begin
Canvas.FillRect(Canvas.ClipRect);
canvas.Ellipse(rect(fbeginpt,fendpt));
canvas.Pen.Color:=clred;
Canvas.Pen.Width:=1;
end;
end;end.
Canvas.Brush.Style := bsClear;