小弟我想在内存中绘图,为什么下面的代码没反应呢
我想在内存中绘图,为什么下面的代码没反应呢?
没反应,是哪里错了呢
------解决方案--------------------
SRCCOPY改成SRCAND
bitblt(self.Canvas.Handle, 0, 0, 200, 200,
img.Canvas.Handle, 0, 0, SRCCOPY);
----------------------------------------------------
bitblt(self.Canvas.Handle, 0, 0, 200, 200,
img.Canvas.Handle, 0, 0, SRCAND);
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
btn_1: TButton;
procedure btn_1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure DrawBufImage(bufCanvas:TCanvas );
end;
var
Form1: TForm1;
oldbmp,Bufbmp:TBitmap ;
implementation
{$R *.dfm}
procedure TForm1.DrawBufImage(bufCanvas: TCanvas);
begin
bufCanvas.Pen.Color :=clBlack ;
bufCanvas.MoveTo(0,0);
bufCanvas.LineTo(100,100);
end;
procedure TForm1.btn_1Click(Sender: TObject);
begin
Bufbmp:=TBitmap.Create ;
DrawBufImage(Bufbmp.Canvas );
bitblt(self.Canvas.Handle, 0, 0, 400, 400,
BufBmp.Canvas.Handle, 0, 0, SRCCOPY);
Bufbmp.Free ;
end;
end.
没反应,是哪里错了呢
------解决方案--------------------
SRCCOPY改成SRCAND
bitblt(self.Canvas.Handle, 0, 0, 200, 200,
img.Canvas.Handle, 0, 0, SRCCOPY);
----------------------------------------------------
bitblt(self.Canvas.Handle, 0, 0, 200, 200,
img.Canvas.Handle, 0, 0, SRCAND);