Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2015.03.15;
Скачать: [xml.tar.bz2];

Вниз

TImage=>Canvas и отрисовка   Найти похожие ветки 

 
Faiwer ©   (2009-02-26 21:58) [0]

Удалено модератором
Примечание: http://www.delphimaster.ru/forums.shtml#rule Запрещается: п.7


 
Pavia ©   (2009-02-26 22:44) [1]


> асколько я понимаю если я использую канву от формы то она
> не беспокоится о своей отрисовке,

Она то беспокоиться и вызывает событие OnPaint, куда и надо вешать свой обработчик для отрисовки.


 
sco   (2009-02-26 23:19) [2]

[quote]Она то беспокоиться и вызывает событие OnPaint, куда и надо вешать свой обработчик для отрисовки.[/quote]
Ну OnPaint немного неподходит, ибо он не даёт тот участок чтом не нужно перерисовать, и всю ответственность за отображение переносит на мои плечи...
Есть какие нибудь предположения почему имаги дохнут?


 
brother ©   (2009-02-27 10:29) [3]

Timage в runtime создается?


 
brother ©   (2009-02-27 10:34) [4]

и странно, но image1.Picture нет Canvas
он есть у image1.Picture.Bitmap.Canvas.Draw...
в общем с такими исходными данными (=0) - шоибка в 17 строке


 
brother ©   (2009-02-27 10:38) [5]

для эксперимента:
кинь два Timage рядом друг с другом и button,
во 2 Timage загрузи картинку (желательно не меньше 640х480),
на кнопку такой код:
image1.Picture.Bitmap.Canvas.Draw(0,0, image2.Picture.Bitmap );
form1.Canvas.Draw(0,0, image2.Picture.Bitmap);
анализируй увиденное...


 
DVM ©   (2009-02-27 12:03) [6]


> Ну OnPaint немного неподходит, ибо он не даёт тот участок
> чтом не нужно перерисовать

Да неужели? Есть такое понятие как область отсечения, так вот что выходит за ее пределы не перерисовывается.


 
DVM ©   (2009-02-27 12:05) [7]


> Есть какие нибудь предположения почему имаги дохнут?

Потому что ты неправильно используешь TImage.

Он вообще НЕ ПРЕДНАЗНАЧЕН для рисования. Для рисования предназначен PaintBox как и следует из его названия, а TImage предназначен для хранения и отображения как правило статичной картинки.


 
DVM ©   (2009-02-27 12:08) [8]

Вообще, всю твою картинку с кораблями и прочее надо держать в промежуточном TBitmap и обновлять там же, когда есть необходимость. В OnPaint PaintBox-а выводить все это на канву последнего. GDI сама разберется какую часть перерисовывать и  т.д. сделает все оптимальным образом.


 
sco   (2009-02-27 13:55) [9]

>> Timage в runtime создается?
да. сразу 15 штук. но те которые глючат они на форме изначально.

>> и странно, но image1.Picture нет Canvas
>> он есть у image1.Picture.Bitmap.Canvas.Draw...
>> в общем с такими исходными данными (=0) - шоибка в 17 строке
очепятолся, я имел ввиду Image1.canvas

>> для эксперимента:
>> кинь два Timage рядом друг с другом и button,
>> во 2 Timage загрузи картинку (желательно не меньше 640х480),
>> на кнопку такой код:
>> image1.Picture.Bitmap.Canvas.Draw(0,0, image2.Picture.Bitmap );
>> form1.Canvas.Draw(0,0, image2.Picture.Bitmap);
>> анализируй увиденное...

попробую


Вообще, всю твою картинку с кораблями и прочее надо держать
в промежуточном TBitmap и обновлять там же, когда есть необходимость.
В OnPaint PaintBox-а выводить все это на канву последнего.
GDI сама разберется какую часть перерисовывать и  т.д.
сделает все оптимальным образом.

интересно. первый раз слышу про PaintBox, пойду рыть инфу =)


 
sco   (2009-02-27 14:16) [10]

>> для эксперимента:
>> кинь два Timage рядом друг с другом и button,
>> во 2 Timage загрузи картинку (желательно не меньше 640х480),
>> на кнопку такой код:
>> image1.Picture.Bitmap.Canvas.Draw(0,0, image2.Picture.Bitmap );
>> form1.Canvas.Draw(0,0, image2.Picture.Bitmap);
>> анализируй увиденное...

собственно сделал. это универсальный способ убить обе имаги и канву формы =) вот тока анализировать это не получается... почему при считывании данных с второй имаги она сама дохнет, и данные не передаёт? каждая из предложенных вами строчек кода не работает так как должна работать =) они просто тушат имаги =) Draw не предназначена для частой передачи данных? или для передачи больших данных? Draw не сбалансированная процедура?



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2015.03.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
2-1390985770
Novicer
2014-01-29 12:56
2015.03.15
Передача параметров для SQL-запроса


15-1403094009
Delphi3
2014-06-18 16:20
2015.03.15
Возможен ли апгрейд Delphi 3 Client-server до Delphi 7 Prof ?


15-1406385976
Yell5
2014-07-26 18:46
2015.03.15
Кто-нибудь разбирается в видеокартах?


1-1329936145
Pcrepair
2012-02-22 22:42
2015.03.15
Совместимость Delphi Enterprise 7 и Embarcadero RAD Studio 2010


15-1406731532
Дмитрий СС
2014-07-30 18:45
2015.03.15
История файлов Windows 8 & webdav





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский