Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2014, 00:14   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
Вопрос Timage как не терять качество при изменении размеров?

Доброго времени!

Ситуация:
Есть TImage,
Center : true
Autosize: true,
Proportional: true
в него загружен BitMap:


Как только меняешь размер формы, картинка портится до нельзя:


Картинка: 500x400, заведомо меньше минимальных размеров окна программы.

Как это лечить?
Человек_Борща вне форума Ответить с цитированием
Старый 31.05.2014, 00:28   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Сделать так, чтобы менялся размер самого TImage, заставляя масштабировать картинку именно ему, а не форме. Например, выставить Align = alClient и Stretch = True.
Vapaamies вне форума Ответить с цитированием
Старый 31.05.2014, 00:51   #3
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Сомневаюсь что это поможет. Окно настроек уменьшения изображения в PaintNET. Думаю от этой точки и нужно отталкиваться, и писать свою перерисовку.
Изображения
Тип файла: png Безымянный.png (13.4 Кб, 158 просмотров)
doktor255 вне форума Ответить с цитированием
Старый 31.05.2014, 17:56   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

М.м.м... Увы проекта не сохранилось, но я так делал используя GDI+.
Хотя вроде я тут на форуме компонентик самописный выкладывал (http://www.programmersforum.ru/showthread.php?p=560217)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.06.2014, 20:41   #5
N0iD
Пользователь
 
Аватар для N0iD
 
Регистрация: 05.05.2010
Сообщений: 50
По умолчанию

Я для подобного использовал Graphics32 идет с примерами в том числе и с подобным ресайзом с применением разных алгоритмов сглаживания.
Прикладываю скомпилированный пример .
Там можно и вертеть и менять размер и т д.
Если ваши поиски Graphics32 не увенчаются успехом, я выложу компонент для вас.
К слову очень крутая по возможностям штука.
Вложения
Тип файла: zip RotLayer_Ex.zip (305.8 Кб, 52 просмотров)
N0iD вне форума Ответить с цитированием
Старый 02.06.2014, 20:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Интересно кстати может в Fire Monkey таких проблем не будет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.06.2014, 21:07   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Вот этот код, уменьшает картинку без потери качества. Правда, он не на Паскале а на С++ Builder.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 02.06.2014, 23:43   #8
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Вот этот вот StretchDraw и вызывается внутри TImage, если выставить ему Stretch := True.
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение размеров timage при изменении размера формы WebbMan C++ Builder 5 26.02.2013 21:14
При изменении размеров Timage canvas не увеличивается BloodMaX Общие вопросы Delphi 1 15.04.2010 12:28
создать timage определенных размеров varelik Общие вопросы Delphi 6 12.02.2010 15:07
Как изменять размеры шрифта при изменении размеров canvas? SkAndrew Мультимедиа в Delphi 2 07.12.2008 23:02
Текст при изменении размеров окна Dj_smart HTML и CSS 2 25.11.2008 23:23