| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Дрожание при выводе грфики |
| Автор: midiar 20.12.2005, 12:26 |
| Добрый день! У меня есть битмап, на котором я рисую и потом вывожу его на канву. Если это происходит часто, то изображение дрожит. Как этого можно избежать? |
| Автор: Snowy 20.12.2005, 12:29 | ||
|
| Автор: midiar 20.12.2005, 12:55 |
| Я редактирую компонент, а он унаследован от TGraphicControl. |
| Автор: Snowy 20.12.2005, 13:09 | ||
Если наследовать от TWinControl. Если нет, то используй GDI+ или посмотри, как сделано в TWinControl.WMPaint во второй части - где при DoubleBufered. |
| Автор: midiar 20.12.2005, 13:18 |
| Я посмотрел и ничего не понял, я не умею хорошо работать с графикой. Но я все рисую и так в памяти на битмап, а потом вывожу ее с помощью BitBlt. Что там нужно сделать дополнительно? |
| Автор: Snowy 20.12.2005, 13:37 | ||||
Перед рисованием вызывай
После рисования
TPaintStruct заполнять не нужно - просто отдай переменную этого типа бегину, а потом ее же енду. BeginPaint вернет тебе DC, на котором нужно делать BitBlt. |
| Автор: midiar 20.12.2005, 13:47 |
| А handle чей передавать? |
| Автор: Snowy 20.12.2005, 13:55 |
| Owner'a я полагаю. Получается, что ты на нем рисуешь, раз уж у тебя не WinControl... Или Parenta. Попробуй и того и другого. |
| Автор: midiar 20.12.2005, 14:01 |
| Не помогает, я пробовал и код из TWinControl.WMPaint адаптировать, тоже не помогает. Здесь что-то другое |
| Автор: Snowy 20.12.2005, 14:12 |
| Попробуй присвоить DoubleBufered:=true паренту или Owner'у. (или обоим сразу). |
| Автор: midiar 20.12.2005, 14:47 |
| Ага, получилось, спасибо |