Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графика: рисуем точку 
:(
    Опции темы
champion
Дата 24.4.2008, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



Ребята, всех приветствую. Собественно в асме ламер, и была поставлена задача реализовать программу выводящую на экран точку, далее линию, а далее параболу. Разумеется сначала нужно понять как рисовать точку. Используется TASM под WinXP. 

Подскажите пожалуйста, как работать с графикой? Как можно реализовать данную задачу? Что исользуется? Что можно почитать?


--------------------
user posted image
PM MAIL   Вверх
Mikl_
Дата 25.4.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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" 




PM MAIL   Вверх
500mhz
Дата 5.5.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



на тасме под винду? оригинально


--------------------

PM MAIL ICQ   Вверх
dumb
Дата 6.5.2008, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(500mhz @  5.5.2008,  18:50 Найти цитируемый пост)
на тасме под винду? оригинально
в чем оригинальность?
PM MAIL   Вверх
500mhz
Дата 6.5.2008, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



да как то на тасме да под винду - садомазохизмом попахивает )))  может все таки под дос? )))


Код

org 0x100


        mov al,0x13
        int 0x10
        mov si,38560
        push 0xa000
        pop es
        mov [es:si],byte 13
loops:
       jmp loops            


фасмом компилить


--------------------

PM MAIL ICQ   Вверх
dumb
Дата 7.5.2008, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(500mhz @  6.5.2008,  17:28 Найти цитируемый пост)
да как то на тасме да под винду - садомазохизмом попахивает
точно в такой же степени, как и на любом другом асме, ибо никакой "привязки" тасма к досу нет - он прекрасно умеет стряпать и PE-пирожки.
PM MAIL   Вверх
500mhz
Дата 7.5.2008, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



даже спорить не буду


--------------------

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.