Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

TDBImage, TImage   Найти похожие ветки 

 
Valeri   (2004-05-27 11:18) [0]

Можно ли (и как !!!) отмасштабировать изображение в TDBImage (или, в крайнем случае, в TImage)? Т.е. Размер TDBImage должен остаться прежним, а картинка увеличиться (или уменьшиться). Спасибо.


 
Sun bittern ©   (2004-05-27 11:29) [1]

Canvas.BrushCopy
Canvas.StretchDraw


 
Valeri   (2004-05-27 12:15) [2]

Пожалуйста, подробней, с примером, для тупых.
Есть DBImage1, определенного размера, который в моем случае менять нельзя. Картинка не влазит. Надо сделать так, чтобы она стала меньше.


 
Valeri   (2004-05-27 12:48) [3]

Ничего не получается !!! :-(


 
Sun bittern ©   (2004-05-27 12:54) [4]

Надо сделать так, чтобы она стала меньше.

TDBImage.Stretch := True;


 
Valeri   (2004-05-27 12:56) [5]

Но картинка просто размажется по имиджу, а надо пропорционально.


 
Valeri   (2004-05-27 13:08) [6]

Может, все-же примерчик с StretchDraw подкинете?  ;-)


 
Sun bittern ©   (2004-05-27 13:13) [7]

>> Но картинка просто размажется по имиджу, а надо пропорционально.

Что значит размножается!!!??? :( Изображение должно растянутся/сжаться по размерам клиентской области компанента TDBImage


 
Valeri   (2004-05-27 13:15) [8]

Не размножается, а размажется, т.е. не сохраняться пропорции


 
Sun bittern ©   (2004-05-27 13:38) [9]

А врубился. Для пропорций нужно юзать как это в теликах то по умному непомню (формат соотношения чтоли). Высоту дели на ширину получаем некий коэффициент. Даллее наоборот Ширину делим на высоту - получаем второй коэфф. Далее определяем какой коэфф. лучше. Потом одна из сторон домножается на этот коэфф. Точно всего этого непомню, могу ошибаться


 
Valeri   (2004-05-27 13:44) [10]

Да с коэффициентами соображу, не в том trouble.
Я НЕ ЗНАЮ КАК ИЗМЕНИТЬ МАСШТАБ КАРТИНКИ , а не размер компоненты *Image.


 
Valeri   (2004-05-27 13:56) [11]

Господа, прошу прощения за орешниковый вопрос. Уже допёр.
Наверное, трудно было понять, чего мне надо.
Отвечаю сам себе -
AutoSize := False
Stretch  := True
А Image1.Height и Image1.Width подсчитываю пропорционально, как мне надо (это не вопрос программирования, а вопрос логики) - и получаю картинку, вписавшуюся куда мне надо.


 
Sun bittern ©   (2004-05-27 13:58) [12]

Типа Zoom чтли нужно? Чисто такого в TDBImage врядли есть. Тогда Sun bittern ©   (27.05.04 11:29) [1] + Sun bittern ©   (27.05.04 13:38) [9] чтобы неразмазанно. Скорее всего еще временный TBitMap понадобится. Canvas.BrushCopy - есть пример в справке. Canvas.StretchDraw - вывести картинку в заданный прямоугольни Rect.


 
Valeri   (2004-05-27 14:23) [13]

Точно, нужно что-то типа зума. Со стрэтчдравом что-то с налета не вышло. Всё работает, как написал в Valeri   (27.05.04 13:56) [11].
Например, выравнивание по высоте:

    Coeff := ScrollBox1.Height / DBImage1.Height;
    DBImage1.Height := ScrollBox1.Height;
    DBImage1.WIdth := Round(DBImage1.WIdth * Coeff);

только с округлением неважнец. Надеюсь, что-нить придумаю.
Спасибо.



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

Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
4-1082555579
lock95
2004-04-21 17:52
2004.06.06
Как получить доступ к своему же файлу?


3-1084782386
Goida
2004-05-17 12:26
2004.06.06
Где компоненты для работы с Sybase?


4-1082800552
Delphist
2004-04-24 13:55
2004.06.06
Где взять мощный справочник по WinApi


3-1084795501
Tomkat
2004-05-17 16:05
2004.06.06
FireBird 1.5 и IBX 6.08


4-1083309694
Stas
2004-04-30 11:21
2004.06.06
Изменение даты создания файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский