Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

увеличение TImage

Страницы: 1
увеличение TImage
в компоненте TScrollBox находится TImage. у ScrollBox свойство Allign=alClient, у Image - alNone. У формы Allign=alClient, WindowState=wsMaximezed. OnCreate формы:

Код
procedure TForm1.FormCreate(Sender: TObject);
begin
 Image1.Width:=ScrollBox1.Width;
 Image1.Height:=ScrollBox1.Height;
end;


но почему-то картинка остаётся такого-же размера, который в свойствах Width и Heigth до запуска. Как сделать картинку размером ScrollBox'а, чтобы и рисовать можно было в этом размере? И в Лазарусе, и в Делфи есть такая ошибка...
А что конкретно должно получиться? Поподробнее(желательно прикрепить скрин )...
Надо, чтобы при увеличении размера картинки можно было рисовать везде, а не только на той части, какой у картинки размер.
Вот скриншот моей программы - там картинка (белое поле) на самом деле больше, но рисовать можно только в той области, какой размер задан в Object Inspector.
PS на AWN Manager (штука внизу, как у Макинтоша) не обращайте внимания, это не является частью моей программы
PPS это Линукс, но на Делфи в Уиндоус то же самое было.
Изменено: Berdinskikh - 13.03.2010 23:37:29
А как ты сможешь нарисовать на невидимой части image? Или нужно, чтобы передвигаясь вниз рисунка, на невидимую его часть, изображение автоматически прокручивалось вниз? Если так, то нужно обрабатывать события мыши при рисовании.
свободный страннык
Berdinskikh,
Какое-то странное желание....
Разве, например, photoshop так умеет? Зачем это Вам нужно?

Berdinskikh,
Вы пытаетесь на delphi сделать собственный графический редактор?
Цитата
Berdinskikh пишет:
в компоненте TScrollBox находится TImage. у ScrollBox свойство Allign=alClient, у Image - alNone. У формы Allign=alClient, WindowState=wsMaximezed. OnCreate формы:
Код
procedure TForm1.FormCreate(Sender: TObject);
begin
 Image1.Width:=ScrollBox1.Width;
 Image1.Height:=ScrollBox1.Height;
end;

но почему-то картинка остаётся такого-же размера, который в свойствах Width и Heigth до запуска. Как сделать картинку размером ScrollBox'а, чтобы и рисовать можно было в этом размере? И в Лазарусе, и в Делфи есть такая ошибка...


Посмотри в инспекторе свойство SizeMode у image. Оно должно быть Strech.
Berdinskikh, короче у TImag'а ставишь свойство Strech на true. А дальше играешь со свойствами Width и Heigth
свободный страннык
С графикой лучше работать из-под Delphi for .NET
Там очень богатый набор библиотек и, как следствие, функций для работы с графикой.
Не обращайте внимания на предыдущие комментарии... smile:)
Все просто неправильно поняли проблему...

Это не ошибка, а следствие рисования посредством "канвы"...
Можно установить гигантские размеры Image1 дизайнтайм и при запуске "обновлять" его, или же при изменении размера Image1 вообще пересоздавать канву и копировать изображение со старой (перед уничтожением)...
Возможно устроит и такой вариант (всё ж зависит от целей программы), но я бы всё-таки посоветовал рисовать на битмапе...

К сожалению я так и не смог заставить работать Лазарус на своей текущей ОС (это вроде ведь вы на нём делаете?), но по аналогии с делфи там должно быть Image1.Picture.Bitmap.Canvas
И вот на нём и рисовать (только не забудьте этот битмап создать-то)))...

Цитата
Berdinskikh пишет:
PS на AWN Manager (штука внизу, как у Макинтоша) не обращайте внимания, это не является частью моей программы

Хм... А можно ссылку на него?
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)