Работа с "графикой" |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
Работа с "графикой" |
Account |
7.10.2011 21:47
Сообщение
#1
|
Бывалый Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: 0 |
Поставлена вот такая задача:
Нарисовать 8 разноцветных полос (не линий) во весь экран, режим например использовать 640х350 параллельных главной диагонали. Пример результата в прикрепленной картинке Сообщение отредактировано: Account - 7.10.2011 21:47 Эскизы прикрепленных изображений |
IUnknown |
13.10.2011 17:15
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Значит, по поводу артефактов...
Большую часть убрал, со ступенчатостью, извини, сделать ничего не могу, это все-таки не горизонтальные/вертикальные, а диагональные линии, причем соотношение сторон в этом граф. режиме тоже не самое благоприятное. Касаемо черных точек, проскакивающих в некоторых местах - еще раз проверил всю работу с битами в начальном/конечном неполных байтах (уверен, проблема - именно там, какой-нибудь бит маски неправильно выставляется, или что-то в этом роде, отсюда и "битый пиксель", опять же - заметил, что появляются эти черные только на стыках разных цветов, а не в середине?). Пока ничего некорректного в коде найти не могу, потом еще покопаюсь. Что касается правого нижнего угла - это вообще для меня загадка, я уже ограничил входные данные в процедуре ScanLine, теперь физически линия не может заходить на предыдущую/последующую строки (а очень похоже на то, что где-то все-таки происходит выход за пределы 0 .. 639 и пиксель уходит на соседнюю строку). Прогнал несколько раз в отладчике - не вижу, где проблема (то есть, время возникновения - как раз увидел, эта фигня проявляется, когда рисуется нижняя часть малинов Сообщение отредактировано: IUnknown - 13.10.2011 17:16 Прикрепленные файлы lines9v.zip ( 4.18 килобайт ) Кол-во скачиваний: 603 |
Account |
13.10.2011 17:38
Сообщение
#3
|
Бывалый Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: 0 |
Значит, по поводу артефактов... Большую часть убрал, со ступенчатостью, извини, сделать ничего не могу, это все-таки не горизонтальные/вертикальные, а диагональные линии, причем соотношение сторон в этом граф. режиме тоже не самое благоприятное. Касаемо черных точек, проскакивающих в некоторых местах - еще раз проверил всю работу с битами в начальном/конечном неполных байтах (уверен, проблема - именно там, какой-нибудь бит маски неправильно выставляется, или что-то в этом роде, отсюда и "битый пиксель", опять же - заметил, что появляются эти черные только на стыках разных цветов, а не в середине?). Пока ничего некорректного в коде найти не могу, потом еще покопаюсь. Что касается правого нижнего угла - это вообще для меня загадка, я уже ограничил входные данные в процедуре ScanLine, теперь физически линия не может заходить на предыдущую/последующую строки (а очень похоже на то, что где-то все-таки происходит выход за пределы 0 .. 639 и пиксель уходит на соседнюю строку). Прогнал несколько раз в отладчике - не вижу, где проблема (то есть, время возникновения - как раз увидел, эта фигня проявляется, когда рисуется нижняя часть малинов По поводу ступенчатости. Я понимаю что от нее не деться. Я там обвел только в одном месте что то слишком торчало)) Далее, верхний левый угол, такое ощущение что не с 0-го пикселя (по оси Y) начинало рисовать, я стрелочкой показал. При том что это только на первой полоске от главной диагонали почему то. //----------------------------------------------------- Посмотрел последнюю версию. Все шикарно и быстро. Только уголок остался.)) Может, еще кто посмотрит и найдет что не так... Честно, гложет большое сомнение, что кто то захочет копаться в чужом коде на данном языке). Но время покажет, может и ошибаюсь... Сообщение отредактировано: Account - 13.10.2011 17:48 |
Текстовая версия | 14.06.2024 21:02 |