Добрый день. Проблема такая - при попытки рисование на Image? все получается закрашенным.
Код
Image1.Canvas.Pen.Width:=1;
Image1.Canvas.Brush.Style:=bsClear;
Image1.Canvas.MoveTo(50,50);
Image1.Canvas.LineTo(200,200);
результат весь Image получается закрашенным черным.
Гугля, нашел как рисовать через буфер...
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, Menus, ExtDlgs, StdCtrls, ColorBox, Buttons, ComCtrls;
.
.
.
var
Form1: TForm1;
img, buffer: TBitmap;
x0,y0: integer;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Canvas.FillRect(image1.Canvas.cliprect);
Img:=TBitmap.Create;
buffer:=TBitmap.Create;
Img.Width:=Image1.ClientWidth;
buffer.Width:=Image1.ClientWidth;
Img.Height:=Image1.ClientHeight;
buffer.Height:=Image1.ClientHeight;
end;
procedure TForm1.MenuItem2Click(Sender: TObject);
begin
img.assign(buffer);
img.Canvas.Brush.Style:=bsClear;
// img.Canvas.Rectangle(10,10,100,100);
img.Canvas.LineTo(200,200);
image1.Canvas.CopyRect(bounds(0,0,img.Width,img.Height),
img.Canvas,bounds(0,0,img.Width,img.Height));
buffer.Assign(img);
end;
результат тотже! (
Вообще смысл вот какой - необходимо ЛИБО рисовать на самой форме канвасом и потом сохранить(*.jpg/*.png/*.bmp - не принципиально)/распечатать ЛИБО тоже самое с Image или Shape...
Хелп плиз!!!