Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
9-2730
VitGun
2002-12-19 21:32
2003.06.02
Спрайт


6-3023
Джек
2003-03-20 13:38
2003.06.02
Конец загрузки нужного фрейма в WebBrowser?


14-3141
Мазут Береговой Рюрикович
2003-05-15 09:36
2003.06.02
Я тут в интернете ковырялся, искал что-нибудь о язычестве....


14-3070
Style
2003-05-15 22:57
2003.06.02
PAS 2 HTML


1-2953
Vulko
2003-05-15 19:12
2003.06.02
Как создать папку...




   Наверх