Размер изображения загруженного в TImage

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Размер изображения загруженного в TImage

Сообщение qivi »

Хочу получить следующий результат:

Если загруженно изображение по размеру больше чем Image1, появляются скролбары для возможности просмотрет всё изображение.
Для этого Image1 я помещаю на родителя ScrollBox1 и растягиваю по его размеру.

1. Как узнать размер уже загруженного изображения Image1?
2. Как ScrollBox1 заставить "подстроится под размер этого изображения?"
iskander
энтузиаст
Сообщения: 630
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

Код: Выделить всё

1. Image1.Picture.Width;(Height)
2. Image1.AutoSize := True;
SSerge
энтузиаст
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Сообщение SSerge »

iskander писал(а):Image1.AutoSize := True;


Насколько помню, это подстраивает размер изображения под размер контейнера. То есть, zooming.
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

А мне нужно контенер подстроить под размер изображения
SSerge
энтузиаст
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Сообщение SSerge »

Ну так получите размер изображения по п.1 (TImage.Picture.Width - TImage.Picture.Height), и по ним пересчитайте необходимый размер контейнера. В качестве подсказки: вычислите разницу между Container.Width и Image.Picture.Width - (и то же самое с высотой) для нормально вписанного в контейнер , и добавляйте эту разницу к новому значению Image.Picture.Width
iskander
энтузиаст
Сообщения: 630
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

SSerge писал(а):Насколько помню, это подстраивает размер изображения под размер контейнера.

Неправильно помните.
vruzh
незнакомец
Сообщения: 1
Зарегистрирован: 19.04.2012 23:09:45

Сообщение vruzh »

ScrollBox:
AutoSize = True

MapImg: TImage

Align = alClient
AutoSize = True

Если нужен весь проект, то вышлю
Ответить