Форум: "Основная";
Текущий архив: 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