![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
![]() |
|
Опции темы |
![]() |
#1 |
Новичок
Регистрация: 18.01.2014
Сообщений: 3
Репутация: 10
|
![]()
В Delphi XE7 Architecht добавляю на форму TImage. Загружаю в него png-картинку (картинка в виде раскраски). При уменьшении картинки через stretch линии становятся нечеткими, пунктирными, где-то исчезают. При увеличении картинки линии, соответственно, видно лучше. Как можно при уменьшении сохранить четкость линий?
Единственное решение, которое мне известно - использование картинки с уже заранее нужными первоначальными размерами, тогда четкость изображения не теряется. Последний раз редактировалось artovbaz; 03.01.2017 в 14:33. |
![]() |
![]() |
![]() |
#2 |
Регистрация: 27.12.2016
Сообщений: 9
Репутация: 10
|
![]()
// изменение размера области вывода иллюстрации
// пропорционально размеру иллюстрации Procedure Scalelmage; var pw, ph : integer; // размер иллюстрации scaleX, scaleY : real; // масштаб по Х и Y scale : real; // общий масштаб begin // иллюстрация уже загружена // получим ее размеры pw := Form1.Image1.Picture.Width; ph := Form1.Image1.Picture.Height; if pw > iw // ширина иллюстрации больше ширины компонента Image then scaleX := iw/pw // нужно масштабировать else scaleX := 1; if ph > ih // высота иллюстрации больше высоты компонента then scaleY := ih/ph // нужно масштабировать else scaleY := 1; // выберем наименьший коэффициент if scaleX < scaleY then scale := scaleX else scale := scaleY; // изменим размер области вывода иллюстрации Form1.Image1.Height := Round(Form1.Image1.Picture.Height*s cale) Form1.Image1.Width := Round(Form1.Image1.Picture.Width*sc ale); // т. к. Strech = True и размер области пропорционален // размеру картинки, то картинка масштабируется без искажений end; |
![]() |
![]() |
![]() |
Опции темы | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ресайз PNG без потери прозрачности | RidDozZ | Мультимедиа в Delphi | 2 | 01.08.2012 13:40 |
Как переделать gif в jpeg без потери анимации | Shadow78 | Помощь студентам | 10 | 24.09.2011 02:31 |
Объединение ячеек без потери значений | Mopsusha | Microsoft Office Excel | 3 | 08.08.2011 06:51 |
Если остановился поток (TThread). Как перезапустить без потери памяти | Zuzlan | Общие вопросы Delphi | 9 | 01.02.2011 14:57 |
Как уменьшить картинку быстро но без изменения палитры | Joker_kpi | Общие вопросы Delphi | 2 | 04.06.2007 23:49 |
|
|