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

Вниз

Как сделать zoom в TImage   Найти похожие ветки 

 
din_tsk   (2004-01-10 12:57) [0]

Народ, помогите пожалуйста!!! Загружаю картинку в TImage. TImage стандартных размеров. Необходимо картинку отмасштабировать под TImage (т.е. сделать zoom)
Горю!!!!


 
Romkin ©   (2004-01-10 13:04) [1]

stretch & proportional


 
din_tsk   (2004-01-10 13:17) [2]

Извините, где в 5 дельфе у TImage есть proportional?


 
YuRock ©   (2004-01-10 13:21) [3]

TImage.Proportional (на Object Inspector"е тоже есть:)))


 
din_tsk   (2004-01-10 13:31) [4]

Извините, но у меня этого нет


 
YuRock ©   (2004-01-10 13:42) [5]

Понятно. Извините. Тогда надо либо перейти на Delphi6 (что очень быстро), либо самому следить за пропорциями.
Если уточните задачу - можно будет уточнить ответ.


 
Intell ©   (2004-01-10 13:42) [6]

В меню View вруби Object Inspector. Или у тебя вообще его нет?


 
Romkin ©   (2004-01-10 13:44) [7]

Упс! Сорри. Нету пропорциональности в D5. Но всегда можно подогнать размеры Image по соотношению сторон


 
Romkin ©   (2004-01-10 13:45) [8]

Упс! Сорри. Нету пропорциональности в D5. Но всегда можно подогнать размеры Image по соотношению сторон


 
din_tsk   (2004-01-10 13:51) [9]

На D6 перейти не смогу, потому что есть компоненты , которые не написаны под нее.
Точнее задача вот: Есть картинки (куча) на каждый товар. Размеры у них разные. В окошке "Свойства товаров" необходимо их показывать. Там есть TImage виксированных размеров. Когда загружаешь со strech то картинка безобразно растягивается. Нуобходимо вывести картинку не изменяя размеры TImage. Пытаюсь делать так, но картинка только режется:
JpegIm := TJpegImage.Create;
bm := TBitMap.Create;
JpegIm.LoadFromFile("file");
bm.Assign(JpegIm);
scale:=Image1.Width/JpegIm.Width;
bm.Width:=Round(JpegIm.Width*scale);
bm.Height:=Round(JpegIm.Height*scale);

Image1.Picture.Assign(bm);
JpegIm.Destroy;
bm.Destroy;


 
YuRock ©   (2004-01-10 14:06) [10]

Попробуйте вместо


bm.Width:=Round(JpegIm.Width*scale);
bm.Height:=Round(JpegIm.Height*scale);

Image1.Picture.Assign(bm);


написать


var
Rc: TRECT;
...
begin
...
Rc.Width := JpegIm.Width*scale;
Rc.Height := JpegIm.Height*scale;
Image1.Canvas.StretchDraw(Rc; TGraphic(JpegIm));
...
end;


переменная bm тогда вообще не нужна.


 
din_tsk   (2004-01-10 14:15) [11]

Чогото ругается на RC.width


 
YuRock ©   (2004-01-10 14:18) [12]

Снова извините. RC.width надо изменить на Rc.Right, а Rc.Height на Rc.Bottom


 
din_tsk   (2004-01-10 14:26) [13]

Получается таже печенька: Рисунок просто обрезается


 
YuRock ©   (2004-01-10 14:40) [14]

Напишите еще


Rc.Left := 0;
Rc.Top := 0;


Должно работать - я проверил!


 
din_tsk   (2004-01-10 14:46) [15]

Работает!!! Большое спасибо!!!!!!


 
EvgeniusII   (2004-01-10 15:04) [16]

Извините, я не понял задачи: Те надо, что бы картинка произвольной формы(например 120*100) помещалась в квадратный ()
или какой-либо другой битмап с размерами 50*50 (к примеру)
не сжимаясь или не растягиваясь и не обрезаясь?
Может я глючу. Но не реально картинку не сжимать или не обрезать. А если надо сделать или то или другое, то это все делается без кода.А при zoome нельзя элементарным кодом скрыть
недостатки растрового изображения. Побробуй все конвертировать в векторный формат, а затем увеличивай, растягивай, сжимай без потери четкости.


 
Mihey ©   (2004-01-10 17:09) [17]

> Побробуй все конвертировать в векторный формат, а затем увеличивай, растягивай, сжимай без потери четкости.

Чушь говоришь. Просто от Timage надо уже давно отказываться.


 
kor@lex ©   (2004-01-11 13:20) [18]

Я не знаю правельноли я тебя понял но тебе надо всего лишь растинуть картинку .
Значит делай вот так
Image1.streach:=true;{эта функция натягивает картинку на Image1}
Image1.width:=Image1.width-100;{изменяем размеры Image1 ,а значит и картинки. Тоже самое и с height}



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

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

Наверх




Память: 0.5 MB
Время: 0.029 c
1-63158
Rimd
2004-01-06 16:51
2004.01.20
Rave Report


4-63442
zxc
2003-11-14 12:49
2004.01.20
как изменить высоту заголовка в SysListView32??


14-63384
Igorek
2003-12-26 15:18
2004.01.20
А где собственно Е-Мое-Имя?


7-63409
Eldar
2003-10-26 18:13
2004.01.20
Отключит и выключит мышку и клавиатуру


3-63013
Dark Man
2003-12-23 08:39
2004.01.20
Работа c IB Object и dbf одновременно