Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не работает Image

8.2K
23 декабря 2005 года
TheMaster
32 / / 23.12.2005
Проблема в следующем: есть прога, которая рисует узор в главном окне. Есть метод в главном классе, который перерисовывает этот узор. Он в параметр получает указатель на Bitmap, куда всё и рисует.

Есть форма с настройками. Она предлагает выбрать цвет узора. На форме - компонент Image. Хочется нарисовать в нём пример узора свежевыбранным цветом. Применяю метод главной формы, посылаю туда параметром ExampleImage->Picture->Bitmap - компилятор понимает это дело, но - прога на этой форме ничего не перерисовывает. К чему бы это?..
7.3K
23 декабря 2005 года
nirvikalpa
20 / / 25.01.2005
Цитата:
Originally posted by TheMaster
Проблема в следующем: есть прога, которая рисует узор в главном окне. Есть метод в главном классе, который перерисовывает этот узор. Он в параметр получает указатель на Bitmap, куда всё и рисует......
.... К чему бы это?..



я бы в таком случае пошагово F7/F8 просмотрел бы код с момента когда пользователь выбрал цвет и до того места где осуществляется рисование заданным цветом в функции из гловной формы. Действительно ли доходит необходимый цвет туда куда надо... а если все в порядке то посмотрел бы refresh/renew... вызвать не забыли??

Д.С.

443
23 декабря 2005 года
REmindER
292 / / 23.03.2003
Ого какой путь - аж через TBitmap. А может проще будет методами TCanvas того же TImage и Image->Invalidate()?
8.2K
24 декабря 2005 года
TheMaster
32 / / 23.12.2005
Не в цвете проблема, цвет-то куда надо доходит.
И через Canvas тоже не получится: его необходимо параметром передавать, а компилятор не понимает выражение Graphics::TCanvas в качестве типа параметра.

Более того, вчера ночью у меня эта хрень заработала, но мне пришлось создавать специально для этого компонента новый Bitmap, потом - задавать его ширину и длину равной длине компонента, передавать его в метод в качестве параметра, а только потом я смог написать:

Image->Picture->Bitmap = Bmp;

И после этого всё заработало.
Однако: пришлось писать пять лишних строчек текста. Может, как-нибудь без этого можно обойтись?
443
24 декабря 2005 года
REmindER
292 / / 23.03.2003
Цитата:
Originally posted by TheMaster
Не в цвете проблема, цвет-то куда надо доходит.
И через Canvas тоже не получится: его необходимо параметром передавать, а компилятор не понимает выражение Graphics::TCanvas в качестве типа параметра.

Более того, вчера ночью у меня эта хрень заработала, но мне пришлось создавать специально для этого компонента новый Bitmap, потом - задавать его ширину и длину равной длине компонента, передавать его в метод в качестве параметра, а только потом я смог написать:

Image->Picture->Bitmap = Bmp;

И после этого всё заработало.
Однако: пришлось писать пять лишних строчек текста. Может, как-нибудь без этого можно обойтись?



Это как это так - не понимает? Отлично понимает. И что мешает передавать методу (раз уж на то пошло) указатель на TImage? Дело в том, что TImage занимается визуализацией контейнера TBitmap, а сам TBitmap ничего не отображает, т.к. не является визуальным (не происходит от TControl)

443
24 декабря 2005 года
REmindER
292 / / 23.03.2003
К слову, ты можешь написать и так Image1->Picture->Bitmap->Width = ..., и не надо будет ничего создавать.
8.2K
26 декабря 2005 года
TheMaster
32 / / 23.12.2005
В общем, я так и сделал и всё заработало. Спасибо за консультацию!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог