Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/78: Рейтинг темы: голосов - 78, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 28
1

Масштабирование изображения

02.09.2011, 11:31. Показов 16008. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть изображение, вызываемое через TImage, формат bmp.
Как сделать, чтоб во время работы программы можно было менять масштаб изображения?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2011, 11:31
Ответы с готовыми решениями:

Масштабирование изображения
Добрый вечер, подскажите пожалуйста, есть компонент PaintBox в него загружается изображение через...

Масштабирование одного изображения на 2-х формах одновременно
Приветствую. Поздравляю всех с наступающим новым годом. Хочу написать одну программу как можно...

Масштабирование
Всем доброго времени суток! В общем, затупил с одной проблемкой (сижу третий день и уже, что...

масштабирование
Скажите, что можно придумать, чтобы увеличив фигуру в 2 раза, потом можно было вернуть ее...

19
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
02.09.2011, 11:37 2
ну так меняй размер самого имежда и все
только Image1.Stretch:=true;
0
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
02.09.2011, 12:04 3
Цитата Сообщение от anonimus Посмотреть сообщение
ну так меняй размер самого имежда и все
только Image1.Stretch:=true;
Image1.Proportional:= true (пропорции не меняются)
1
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
02.09.2011, 12:59 4
Androm, а масштаб должен определяться целым или дробным числом?
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 13:02 5
Он вообще не должен определяться. Задаёшь размер имэйджа, класс сам растягивает на него картинку и всё.
0
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
02.09.2011, 13:04 6
taras atavin, а если он не будет определяться юзером, то и масштабироваться ничего не будет

Не по теме:

ладно, проехали...

0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 13:07 7
С какого перепугу?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.09.2011, 13:08 8
Возможно вопрос не такой и простой, ибо автор не спрашивает об изменении размеров Image, а о масштабировании изображения, когда размер Image не меняется, а меняется масштаб изображения, например как на картах Google.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 13:13 9
Тогда картинку надо читать во внеэкранный буфер и каждый раз перестраивать в имейдже, умножая координаты на масштаб, или используя готовые методы (типа StrechDraw, например). При самостоятельной реализации масштаб может быть и дробным, но произведение надо округлять.
0
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
02.09.2011, 13:14 10
taras atavin, если вектор ни на что не умножать, он не увеличится!
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 13:17 11
И вообще полную постановку задачи в студию. А то мы здесь нарешаем!

Добавлено через 1 минуту
Цитата Сообщение от deathNC Посмотреть сообщение
taras atavin, если вектор ни на что не умножать, он не увеличится!
Уже вектора появились, а только что были растры. Постановку в студию.
0
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
02.09.2011, 13:19 12
Просто по-моему, менять rect компонента - это глупость. А если у автора темы на форме есть ещё что-то, кроме Image. И я думаю, что есть. Иначе как он масштаб выберет. Тут лучше вручную рисовать на отдельном битмапе (TBitMap) и отображать его в Image...

Добавлено через 1 минуту
Вручную рисовать - имею ввиду самому написать алгоритм увеличения. Рисовать его в буфере, затем выводить.
А вектора - по-моему без них не обойтись.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 13:20 13
Цитата Сообщение от deathNC Посмотреть сообщение
ни на что не умножать, он не увеличится!
Ты в винде обои на экран не растягивала? Масштабом в этом случае занимается только ось, а юзверь его даже не знает. Так вот, стречь даже с точки зрения программиста работает точно также: дана картинка и куда её вписать, а масштабом занимается класс прочитать его нигде нельзя.
 Комментарий модератора 
Интересно, ты меня за девушку принял?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.09.2011, 13:25 14
http://www.google.ru/#hl=ru&cp... 24&bih=653
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 13:27 15
Цитата Сообщение от taras atavin Посмотреть сообщение
Интересно, ты меня за девушку принял?
Извини, по аве показалось.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.09.2011, 13:42 16

Не по теме:

Контролер в автобусе к парню с длинными волосами:
- Ваш билет, девушка.
- А я не девушка.
- Нашла чем хвастаться.

.
0
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 28
02.09.2011, 15:50  [ТС] 17
Цитата Сообщение от taras atavin Посмотреть сообщение
И вообще полную постановку задачи в студию. А то мы здесь нарешаем!
Значит изображение большое. изначально при его вызове получается достаточно крупное изображение, при котором просматриваются важные мелкие детали, но на экран влезает может где-то 5% от всего изображения. Но хочется чтобы и общий план можно было глянуть. и наоборот потом.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 16:01 18
Значит читать в буфер и перестраивать.
0
4165 / 1817 / 216
Регистрация: 06.10.2010
Сообщений: 4,074
02.09.2011, 18:25 19
StretchBlt или StretchDIBits не подойдёт?
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
02.09.2011, 18:56 20
С какого
Цитата Сообщение от murderer Посмотреть сообщение
Blt
, когда у ТС Image с готовым StrechDraw?
0
02.09.2011, 18:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.09.2011, 18:56
Помогаю со студенческими работами здесь

Масштабирование формы
Не могу разобраться, почему при запуске программы, я не могу масштабировать форму.. scaled = true....

Масштабирование картинки
Ребята помогите есть процедура рандомной картинки, помогите сделать масштабирование картинки под...

Масштабирование Image
На форме: TrackBar, ScrollBox на нем Image. Как сделать, чтобы при изменении TrackBar, изменялся...

Масштабирование картинки
Как изменить масштаб, например в компоненте RxGifAnim... загружаем картинку, нпример 1600 на 1200,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru