Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

BitMap   Найти похожие ветки 

 
frits   (2003-05-22 16:26) [0]

Ребята, а как, нарисовав на самой форме (не в Image) рисунок, сохранить его в файл? Я видел, что это возможно, но как?


 
Севостьянов Игорь ©   (2003-05-22 16:35) [1]

Если по простому то через SaveToFile -> SaveToStream от TBitmap например...


 
Comp ©   (2003-05-22 16:36) [2]

А в свойстве Canvas ничего подобного нет???


 
KoluChi ©   (2003-05-22 17:16) [3]

у Canvas нет
создай TBitmap, скопируй Canvas и сохраняй


 
Переяслов Григорий ©   (2003-05-22 17:23) [4]

Вот так это делается и выводится в Clipboard

procedure Tform1.CopyForm(Sender: TObject);
var
Bitmap : TBitmap;
P : TPicture;
Source, Dest : TRect;
begin
Bitmap:=TBitmap.Create;
Bitmap.Width := Width;
Bitmap.Height := Height;
Source.Left := 0;
Source.Right := 0;
Source.Bottom := Height;
Dest.Left := 0; Dest.Top := 0;
Dest.Right := Width; Dest.Bottom := Height;
try
With Bitmap.Canvas do
CopyRect (Dest,Canvas,Source);
ClipBoard.Assign(Bitmap);
finally
Bitmap.Free;
end;
end;


 
Севостьянов Игорь ©   (2003-05-22 17:48) [5]

Ну это конечно делаться как сказал
> Переяслов Григорий © (22.05.03 17:23)
, но дело в том, что она копирует канву вместе с конролами, поэтому лучше в памяти держать BitMap которую грузишь для фона формы и в конце сохранять ее..

Ведь даже Windows обои держит в памяти (поэтому рекомендуется на слабых компах их не устанавливать - 2Mb лишних оперативки)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
BitMap: TBitMap;
Rect: TRect;
begin
BitMap := TBitMap.Create;
try
BitMap.LoadFromFile("C:\WinNT\bagira.bmp");

//Canvas.Draw(0, 0, BitMap);

Rect.Top := 0;
Rect.Left := 0;
Rect.Right := ClientWidth;
Rect.Bottom := ClientHeight;

Canvas.StretchDraw(Rect, BitMap);

finally
BitMap.Free;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
BitMap: TBitMap;
Rect: TRect;
begin

BitMap := TBitMap.Create;
try
Bitmap.Width := ClientWidth;
Bitmap.Height := ClientHeight;

Rect.Top := 0;
Rect.Left := 0;
Rect.Right := ClientWidth;
Rect.Bottom := ClientHeight;

BitMap.Canvas.CopyRect(Rect, Canvas, Rect);

BitMap.SaveToFile("Bagira.bmp");
finally
BitMap.Free;
end;

end;

end.




Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
14-3163
Дмитрий К.К.
2003-05-15 05:43
2003.06.02
Именинники 15 мая


1-3002
Ann
2003-05-19 11:08
2003.06.02
TreeView


14-3178
AlexRush
2003-05-15 19:41
2003.06.02
Если делфисту скажут


1-2844
demonyator
2003-05-17 20:01
2003.06.02
Прозрачность в String Grid


3-2827
the great man
2003-05-15 12:24
2003.06.02
работа с *.dbf без BDE администратора