Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение размеров TImage, При загруженной картинке 
:(
    Опции темы
Malloc
Дата 4.4.2006, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 16.8.2005
Где: Челябинск, ЧМЗ

Репутация: нет
Всего: нет



Я делаю задание (типа MS Paint), использую 2 TImage: Image1 - скрытый, на Image2 - рисую.

Я загружаю картинку в Image1:

Код

    Image1.AutoSize := True;
    Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    Image1.AutoSize := False;


Затем пытаюсь увеличить ширину Image1. По идее, неиспользованная картинкой часть должна быть белой. Почему ее нет? Рисуются линии, прямоугольники (как в задании) на загруженной картинке, это все нормально. Я еще сделал, чтобы курсор при наведении на Image1 становился карандашом, и он при движении справа от Image1 все еще карандаш, т.е. пустое место от картинки заполнилось цветом формы, хотя рисовать на этой части нельзя. Значения Transparent у обеих Image равно false.


PM MAIL   Вверх
Snowy
Дата 4.4.2006, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



А теперь: в чем вопрос? И почему у тебя везде Image1, если она невидима?
PM MAIL   Вверх
Malloc
Дата 4.4.2006, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 16.8.2005
Где: Челябинск, ЧМЗ

Репутация: нет
Всего: нет



Я перепутал , Image1 - видно, Image2 - нет. Но дело не в этом. В дизайнере размеры этих компонент разные. При запуске программы они выравниваются так:

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image2.Width := Image1.Width;
  Image2.Height := Image1.Height;
end;


Они выравниваются (пока я сделал обе компоненты видимыми). Но когда я хочу выровнять их при нажатии на клавишу:

Код

procedure TForm1.ToolButton12Click(Sender: TObject);
begin
  Image2.Width := Image1.Width;
  Image2.Height := Image1.Height;
end;


ничего не происходит.



PM MAIL   Вверх
Alexeis
Дата 5.4.2006, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Malloc, а как вы определили что ничего не происходит?
Попробуйте вывести на экран Величины Image2.Width и
Image2.Height после изменения размеров


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Malloc
Дата 5.4.2006, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 16.8.2005
Где: Челябинск, ЧМЗ

Репутация: нет
Всего: нет



Эти значения изменялись, но Image сама не увеличивалась. Но я уже решил проблему: Я при создании формы я писал:

Код

Image1.SetBounds(0,0,1024,768);
Image2.SetBounds(0,0,1024,768);


А потом в ходе программы уменьшал размеры до 400x300. Тогда при увеличении размеров, Image тоже увеличивался. Наверно, у Image нужно заранее ставить максимальные размеры (если я не буду использовать картинки больших размеров). Тему можно закрывать.
PM MAIL   Вверх
Alexeis
Дата 5.4.2006, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Malloc, если значения указанные в Image2.Width изменилиь то image реально увеличил размеры, однако изображение не увеличилось, потому что нужно менять размеры не только компонента но и изображения (picture) вот так
image2.Picture.Width := Image2.Width;


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Niger
Дата 23.4.2006, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 23.4.2006

Репутация: нет
Всего: нет



А у меня в 5-от Delphi пишет, что "Cannot assign to a read-only property". Как его сделать не only-read? 
PM MAIL   Вверх
Albinos_x
Дата 23.4.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 1
Всего: 108



Цитата(Niger @  23.4.2006,  21:02 Найти цитируемый пост)
"Cannot assign to a read-only property"

преобразовать в BMP, через TBitmap сжать и загрузить
Цитата

Эти значения изменялись, но Image сама не увеличивалась

поставь:
Код

Image1.Stretch:=true;

только думаю проблем до конца это не решит smile  


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.