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

Вниз

Почему StretchDraw не уменьшает прапорционально?   Найти похожие ветки 

 
TStas ©   (2005-07-16 20:34) [0]

Пытался прапорционально сжать картинку путем:

bmp:=TBitmap.Create;
bmp.Assign(Image1.Picture.Bitmap);
Image2.Canvas.StretchDraw(ClientRect, bmp);
bmp.Free;

Однако вместо прапорционального уменьшения копируется кусок второй картинки в масштабе 1:1?
Что я неправильно делаю?


 
Essence   (2005-07-16 22:42) [1]

Если 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;


 
TStas ©   (2005-07-18 13:35) [2]

Я. наверно, не совсем верно поставил вопрос. Чтобы картинка уменьшалась прапорционально, достаточно у нее выставить strech=true. Вопрос был в том, чтобы ее скопировать в файл уже уменьшенной



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1121522210
tmp266011
2005-07-16 17:56
2005.08.07
ComboBox отступ от границ


10-1098782958
Sash
2004-10-26 13:29
2005.08.07
excel


1-1121874412
Igorek
2005-07-20 19:46
2005.08.07
Кодировка файла для чтения/записи из ActiveX обьекта


14-1121491225
cyborg
2005-07-16 09:20
2005.08.07
Проапгредился :)


11-1104677621
Boguslaw
2005-01-02 17:53
2005.08.07
Is it a thead-safe operation ?