首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Gdi绘制曲线接收(delphi7)解决方法

2012-04-09 
Gdi绘制曲线接收(delphi7)下面是我的代码:procedure TF_MainForm.DRAW_LLZ(X1, Y1, X2, Y2: INTEGER T: T

Gdi绘制曲线接收(delphi7)
下面是我的代码:
procedure TF_MainForm.DRAW_LLZ(X1, Y1, X2, Y2: INTEGER; T: TCANVAS);
var //画理论值曲线
  csl, S, S1,D,D1: real;
  L1, M: INTEGER;
  Graphics:TGPGraphics;
  GppPen:TGPPen;
begin
  with T do
  begin
  Graphics:= TGPGraphics.FromHDC(T.Handle);
  GppPen:=TGPPen.Create(T.pen.Color,1);
  CSL := 0;
  for m := 1 to HS_LLZ do
  begin
  if HSLLZ[M] > 0 then
  begin
  s := y2 - (HSLLZ[m]) * STEP_Y1;
  s1 := x1 + (csl + m * 0.2) * STEP_X1;
  if m > 1 then
  begin
  D := y2 - (HSLLZ[m - 1]) * STEP_Y1;
  D1 := x1 + (csl + (m - 1) * 0.2) * STEP_X1;
  Graphics.DrawLine(GppPen,s1,s,d1,d);
  //Graphics.SmoothingMode(SmoothingModeHighQuality);
  Graphics.Free;
  end;

  if m=HS_LLZ then
  begin  
  xcccd:=S1+10 ;
  ycccd:=S-10 ;
  end;
  end;
  end;
  end;
end;

Graphics.DrawLine(GppPen,s1,s,d1,d)这句就是我画出的线,可是启动后,在paintbox1中显示不出,应该是没有接收到,高手帮忙下下,我怎么接收才可以显示呢。在线等。

[解决办法]
在 OnPaint 里调用的吗?
我建议你找一下 GDI+ 的Delphi 代码,照着抄。
肯定可以。
[解决办法]
GppPen:=TGPPen.Create(T.pen.Color,1);
这个地方出问题的了,GDI+的RGB和TColor的RGB是不同的,并且GDI+是带有Alpha通道的,你这样赋值其Alpha通道 是0,意味着是透明的,自然画不出来任何东西,建议你修改一下颜色的值试试就知道了。

热点排行