|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 29, 2003 23:29:25 Quantum Лазию по твоему примеру и никак не врублюсь почему у меня bitmap под текстом в момент прохождения текста искажается(сдвигается), это издержки метода? |
|
|
Дата: Авг 30, 2003 21:26:47 Есть такая процедура вывода bitmap'а в окно программы, что-то я торможу, как то же самое но только для текста сделать? ;##################################################### invoke GetDC,hWin mov hDC, eax invoke CreateCompatibleDC,hDC mov memDC, eax invoke SelectObject,memDC,hBmp mov hOld, eax invoke BitBlt,hDC,10,10,166,68,memDC,0,0,SRCCOPY invoke SelectObject,hDC,hOld invoke DeleteDC,memDC invoke ReleaseDC,hWin,hDC ;##################################################### |
|
|
Дата: Авг 30, 2003 22:22:02 · Поправил: Quantum Asterix Нужно создать пустой битмап (желательно чёрнобелый) в памяти (memDC) подходящего размерат (шоб текст уместился). Размер прямоугольной области под текст можно установить через GetTextExtentPoint32. Далее рисуем текст через TextOut и копируем всё это дело из memDC в hDC. ЗЫ: битмап с текстом можно создать в самом начале программы и потом копировать по WM_PAINT. ЗЫЫ: Мерцание происходит не из-за отрисовки текста, а из-за отрисовки фона под текстом. |
|
|
Дата: Авг 31, 2003 01:01:25 Quantum А если текст в несколько строчек, то каждую строчку нужно отдельно обрабатывать и выводить на окно TextOut и BitBlt для каждой строчки? |
|
|
Дата: Авг 31, 2003 01:07:42 · Поправил: Quantum Вовсе нет. Сейчас я поэкспериментирую с DrawText и напишу. . . . Поэкспериментировал! . . . Аттач сглючил :( |
|
|
Дата: Авг 31, 2003 02:43:53 Quantum Получилось? |
|
|
Дата: Авг 31, 2003 02:51:06 |
|
|
Дата: Авг 31, 2003 03:23:16 Забрал, и уже глянул теперь bitmap не искажается, но текст у меня едет маленькими шажками, блин может у меня с развёрткой чего в мониторе, неужели пиксель такой большой что на глаз заметен шаг текста? |
|
|
Дата: Авг 31, 2003 03:55:39 Вот смотрю я у себя в thebat'е текст также дёргается(там тоже есть движущийся текст), но смотрю затем в Macromedia Dreamweaver и там всё нормально, вот ведь интересно. А нельзя текст двигать на 0.5 пикселя :-)? |
|
|
Дата: Авг 31, 2003 05:10:16 Очередная бета :) но смотрю затем в Macromedia Dreamweaver и там всё нормально, вот ведь интересно. Мож DirectX? _474274055__about.rar |
|
|
Дата: Авг 31, 2003 05:32:14 Мож DirectX? Не похоже, текст очень чёткий. Очередная бета :) Мда, шажки текста увеличились вдвое :( |
|
|
Дата: Авг 31, 2003 05:52:07 Quantum Слушай, а у тебя за один цикл происходит восстановление фона и отрисовка текста, не получается случайно так что текст двигается в итоге на два пикселя? Я честно сказать уже в коде потерялся, зачем делать add y_offset,3 -тут и единицы-то многовато было ;-) |
|
|
Дата: Авг 31, 2003 06:07:37 Asterix зачем делать add y_offset,3 -тут и единицы-то многовато было ;-) Да, раньше было inc y_offset. Чем больше шаг, тем меньше мерцаний. Вся проблема, IMHO, в использовании двух BitBlt. Надо будет попробовать стирать + перерисовывать текст за один BitBlt... All Кстати, кто знает как ускорить BitBlt? Или может есть ф-ция побыстрее BitBlt? |
|
|
Дата: Авг 31, 2003 06:26:39 Написание такой простенькой "аннимации" оказалось весьма нетривиальной задачей. Предлагаю совместно подоптимизировать этот about, т.е. сгладить мерцание и т.д. и положить в раздел "исходники", если администраторы согласятся. |
|
|
Дата: Авг 31, 2003 11:19:53 Давай, тем более что исходник уже здесь лежит ;-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.139 |