![]() |
|
|
![]()
|
|
| champion |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 26.1.2005 Репутация: нет Всего: 2 |
Ребята, всех приветствую. Собественно в асме ламер, и была поставлена задача реализовать программу выводящую на экран точку, далее линию, а далее параболу. Разумеется сначала нужно понять как рисовать точку. Используется TASM под WinXP.
Подскажите пожалуйста, как работать с графикой? Как можно реализовать данную задачу? Что исользуется? Что можно почитать? |
|||
|
||||
| Mikl_ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 8 Всего: 14 |
champion, потребуются следующие следующие функции:
1) SetPixel Описание: function SetPixel(DC: HDC; X, Y: Integer; Color: TColorRef): Longint; Рисует элемент изобpажения в указанной точке. Паpаметpы: DC: Идентификатоp контекста устpойства. X, Y: Логические кооpдинаты точки. Color: Стpуктуpа TColorRef, опpеделяющая цвет pаскpаски точки. Возвpащаемое значение: Фактическая TColorRef, используемая для pаскpаски; -1, если точка лежит вне в области выpезания. 2) Для рисования линии функции LineTo Описание: function LineTo(DC: HDC; X, Y: Integer): Bool; Рисует линию, используя выбpанное пеpо, с текущей позиции до указанной конечной точки. Паpаметpы: DC: Идентификатоp контекста устpойства. X, Y: Конечная точка линии. Возвpащаемое значение: Не нуль, если наpисована; 0 - если нет. и функция MoveTo Описание: function MoveTo(DC: HDC; X, Y: Integer): Longint; Пеpемещает текущую позицию в указанную точку. Паpаметpы: DC: Идентификатоp контекста устpойства. X, Y: Новая позиция. Возвpащаемое значение: Кооpдинаты X и Y пpедыдущей позиции в младшем и стаpшем слове, соответственно. 3) Для рисования параболы можно использовать как SetPixel выводя ее поточечно, так и функцию Arc выводя параболу кусочками Описание: function Arc(DC: HDC, X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer): Bool; Рисует эллиптическую дугу, центpиpованную в огpаничивающем пpямоугольнике. Паpаметpы: DC: Контекст устpойства. X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника. X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника. X3, Y3: Начальная точка дуги. X4, Y4: Конечная точка дуги. Возвpащаемое значение: Не нуль, если дуга наpисована; нуль - в пpотивном случае. Пpимечание: Огpаничивающий пpямоугольник должен быть не длиннее или не шиpе 32767 единиц. все функции находится в файле gdi32.dll Что можно почитать? Ищи братьев Фроловых "GDI" |
|||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 1 Всего: 14 |
на тасме под винду? оригинально
-------------------- |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
||||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 1 Всего: 14 |
да как то на тасме да под винду - садомазохизмом попахивает ))) может все таки под дос? )))
фасмом компилить -------------------- |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
||||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: 1 Всего: 14 |
даже спорить не буду
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |