Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранить Form.Canvas в файл .bmp [D7]


rassl ©   (2009-03-11 11:16:00) 

Здравствуйте уважаемые программисты!может ли кто подсказать как сохранить рисунок на главной форме Form1.Canvas в файл bitmap или jpeg.


rassl   (2009-03-11 12:11:00) [1]

копирует, вот спасибо, надо ж :))
а я писал раньше Bitmap.Canvas.CopyRect(MyOther, Bitmap.Canvas, MyRect); и не получалось, ну конечно :))


brother   (2009-03-11 12:09:00) [2]

мдя, хотя... на ошибках учатся...


{RASkov}   (2009-03-11 11:55:00) [3]

> [6] brother ©   (11.03.09 11:52)

Он как увидел что в примере:
> Bitmap. LoadFromFile('c:\windows\tartan.bmp');

а ему нужно:
> Bitmap. SaveToFile('c:\windows\tartan.bmp')

поэтому дальше пример смотреть не стал
:)


brother   (2009-03-11 11:52:00) [4]

1. у битмапа есть канвас
2. по примеру, совсем трудно?


{RASkov}   (2009-03-11 11:48:00) [5]

> [4] rassl   (11.03.09 11:46)

К чему ты их сюда выложил? Сендер лишний в них)


rassl   (2009-03-11 11:46:00) [6]

в этих 2-х процедурах все понятно сохранение рисунка в файл bmp из Image:

procedure TPodMainAnalogForm.SaveGraphBitmap(Sender: TObject);
var Name:string;
begin
if PathName = DefaultFileName
 then begin SaveAsGraphBitmap(Sender); ; end
 else begin  Name:=SaveFileBitmap.FileName;
 if Name='' then Exit;
 if ExtractFileExt(Name)='' then Name:=Name+'.bmp';
 ImageGraph.Picture.SaveToFile(Name);
 end;
end;

procedure TPodMainAnalogForm.SaveAsGraphBitmap(Sender: TObject);
begin
 SaveFileBitmap.FileName := PathName;
 if SaveFileBitmap.Execute then
 begin
   PathName := SaveFileBitmap.FileName;
   SaveGraphBitmap(Sender);
   Caption :='Модель - '+ExtractFileName(PathName);
 end;
end;


{RASkov}   (2009-03-11 11:45:00) [7]

> [2] rassl   (11.03.09 11:41)

Bitmap.Canvas.CopyRect(MyOther, Form1.Canvas, MyRect);


rassl   (2009-03-11 11:41:00) [8]

т.е. как сделать Bitmap.Pixels[] := Form1.Canvas.Pixels[];??
т.е. уже на канве формы имеется рисунок. его записать в битмап
и сохранить в Bitmap.SaveToFile('c:\windows\tartan.bmp')??


brother   (2009-03-11 11:26:00) [9]

из справки:
var
 Bitmap: TBitmap;
 MyRect, MyOther: TRect;
begin

 MyRect := Rect(10,10,100,100);

 MyOther := Rect(10,111,100, 201);
 Bitmap := TBitmap.Create;
 Bitmap.LoadFromFile('c:\windows\tartan.bmp');
 Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
 Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
 Bitmap.Free;
end;

переделывай)


Наверх

Титульная страница Поиск, карта сайта Написать письмо