Asma Cpo4ho!

Тема в разделе "Другие", создана пользователем ScoRpuwa, 1 июн 2006.

Статус темы:
Закрыта.
  1. ScoRpuwa

    ScoRpuwa Гость

    Доброе время суток всем! Я новичек в этом деле. НАписал прогу которая рисует квадрат...могли бы подсказать как реализовать что бы квадрат закрашивался. А то не могу допетрить
    вот код проги
     
  2. Maxx

    Maxx Гость

    с прогой сдается мне что-т ты немного перемудрствовал :)
    лучше использовать прямой вывод в видеопамять
    рисовать закрашенный квадрат просто - рисуешь h линий длиной w нужного цвета
    h - высота квадрата, w - ширина квадрата

    примерная процедура для рисования закрашенного квадрата в режиме 13h

    ; вход
    ; al - цвет квадрата
    ; bx - x
    ; di - y
    ; cx - ширина
    ; dx - высота
    _draw_square:

    and cx,cx ; если ширина или высота 0 ничего не рисуем
    jz _do_nothing
    and dx,dx
    jz _do_nothing
    push es
    push ax
    push dx
    mov ax,200 ; считаем координаты левого верхнего угла
    mul di
    add ax,bx
    xchg ax,di
    mov ax,0a000h ; базовый адрес видеопамяти в режиме 13h
    mov es,ax
    pop dx
    pop ax
    cld
    _next_line:

    push cx ; рисуем линию
    rep stosb
    pop cx
    add di,199
    sub di,cx
    dec dx
    jnz _next_line
    pop es
    _do_nothing:

    retn
     
Статус темы:
Закрыта.

Поделиться этой страницей