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

Вниз

Как правильно использовать Canvas?   Найти похожие ветки 

 
misyachniy ©   (2006-05-26 16:39) [0]

Использую PaintBox.Canvas для отрисовки на нем измененяя сигнала поступающего в компьютер.
Если создать ситуацию когда мое окно не активно и перекрывается другими окнами, то после активирования моего окна, на тех местах где было перекрытие изображение не востанавливается отображение.
Остается только серый цвет формы.
Как корректно востанавливать изображение?
Или на чем другом нужно рисовать?
Спасибо.


 
MBo ©   (2006-05-26 16:59) [1]

рисуй в событии OnPaint


 
misyachniy ©   (2006-05-29 12:26) [2]

Я конечно же понимаю, что краткость сетра таланта ;-)
Поскольку по скольку мне приходится отрисовывать попиксельно, то скорость вывода довольно низкая. А при получении OnPaint мне нужно будет перерисовывать весь экран?
Как-то не правильно помоему.


 
medved_68 ©   (2006-05-29 12:38) [3]

Попробуй метод Refresh для формы запихни его OnActivate


 
MBo ©   (2006-05-29 13:31) [4]

>Поскольку по скольку мне приходится отрисовывать попиксельно, то скорость вывода довольно низкая. А при получении OnPaint мне нужно будет перерисовывать весь экран?

Рисуешь в Bitmap, а его по OnPaint отрисовываешь в PaintBox


 
Vovan#1   (2006-06-02 00:22) [5]

>Поскольку по скольку мне приходится отрисовывать попиксельно, то скорость вывода довольно низкая. А при получении OnPaint мне нужно будет перерисовывать весь экран?

В OnPaint отрисовывай только то, что указал Canvas.ClipRect (область, требующая перерисовки).


 
homm ©   (2006-06-02 01:07) [6]

2 misyachniy


> [3] medved_68 ©   (29.05.06 12:38)
> [5] Vovan#1   (02.06.06 00:22)

Эти 2 поста проигнарируй, человеки не понимают вопроса о котором говорят, истина в [4].


 
Rial ©   (2006-06-02 03:52) [7]


> В OnPaint отрисовывай только то, что указал Canvas.ClipRect
> (область, требующая перерисовки).


Видимо, это какая то новая технология, доселе не изученная :)
Но спать надо было ложиться до этого сообщения ...


> Попробуй метод Refresh для формы запихни его OnActivate


Да  ... это еще лучше.
Хоть бы не писали, не тратили ни свое, ни чужое время.


 
Vovan#1   (2006-06-05 01:10) [8]

2 homm:

Из MBo [4]:

>Рисуешь в Bitmap, а его по OnPaint отрисовываешь в PaintBox

Из Vovan#1 [5]

>В OnPaint отрисовывай только то, что указал Canvas.ClipRect (область, требующая перерисовки).

Эти приёмы можно эффективно объединить, например, рисуя не весь bitmap, но только часть его, указанную ClipRect.

2 Rial:

Да, тебе эту технологию надо бы изучить.


 
homm ©   (2006-06-05 18:26) [9]


> Эти приёмы можно эффективно объединить, например, рисуя
> не весь bitmap, но только часть его, указанную ClipRect.

Уверен? Ты не думаеш что все равно системе придется еше раз по ClipRgn клипать? Двойная работа получется, а не эффективность.


 
Vovan#1   (2006-06-05 20:55) [10]

>Уверен? Ты не думаеш что все равно системе придется еше раз по ClipRgn клипать? Двойная работа получется, а не эффективность.

Уверен. Попробуй реализовать и так, и так, затем сравни скорости.


 
homm ©   (2006-06-05 23:18) [11]


>  [10] Vovan#1   (05.06.06 20:55)

Мы об одном и том-же говорим? О выводе именно битмапа на конву с клипом? Уверен что система сама эффективно определит реальную область заполнения и лишние пиксели на невидимость тестировать не будт. Но тем не менее сейчас проверю.


 
homm ©   (2006-06-05 23:47) [12]


> Но тем не менее сейчас проверю.

Да Вы правы, но для данного случая вы не упомянули о буферизации, тобищ все равно на аопрос не ответили, тобиш [6] в силе.


 
RzCoDer ©   (2006-06-07 13:11) [13]

А мне интересно, как Canvas можно НЕ правильно испльзовать?


 
antonn ©   (2006-06-07 13:13) [14]

RzCoDer ©   (07.06.06 13:11) [13]
canvas.pixels[] в цикле:)


 
homm ©   (2006-06-07 17:07) [15]


> canvas.pixels[] в цикле:)

=-O Как вспомню, что Pixels в VCL член класса канвы, так передергивает всего.



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

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

Наверх




Память: 0.47 MB
Время: 0.044 c
6-1157100295
tvv
2006-09-01 12:44
2007.02.04
Работа с каталогами по сети


15-1169030119
kaZaNoVa
2007-01-17 13:35
2007.02.04
Как замедлить интернет-соединение?


2-1169377884
md
2007-01-21 14:11
2007.02.04
как найти экземпляр класса?


2-1169203954
22b
2007-01-19 13:52
2007.02.04
Создать Экземпляр класс TXMLDocumenet в Delphi


4-1158574045
Elen
2006-09-18 14:07
2007.02.04
Работа со свойствами файла





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский