![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему StretchDraw не уменьшает прапорционально? [D3, D7, Win95/98, WinXP]
TStas © (2005-07-16 20:34:00)Пытался прапорционально сжать картинку путем:
bmp:=TBitmap.Create;
bmp.Assign(Image1.Picture.Bitmap);
Image2.Canvas.StretchDraw(ClientRect, bmp);
bmp.Free;
Однако вместо прапорционального уменьшения копируется кусок второй картинки в масштабе 1:1?
Что я неправильно делаю?
TStas (2005-07-18 13:35:00) [1]Я. наверно, не совсем верно поставил вопрос. Чтобы картинка уменьшалась прапорционально, достаточно у нее выставить strech=true. Вопрос был в том, чтобы ее скопировать в файл уже уменьшенной
Essence (2005-07-16 22:42:00) [2]Если Image1будет пропорционален по размерам с bmp, то всё будет также ОК.
procedure TForm1.Button1Click(Sender: TObject);
var
Bmp: TBitmap;
begin
if OpenDialog1.Execute then
begin
Bmp:= TBitmap.Create;
try
Bmp.LoadFromFile(OpenDialog1.Filename);
{Form1.}Canvas.StretchDraw(Rect(0,
0,
Bmp.Width div 2,
Bmp.Height div 2),
Bmp);
finally
Bmp.Free;
end;
end;
end;