Как напечатать bmp в определенном месте - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь напечатать маленькое фото 10 * 10 пикселей в определенном месте, но я не знаю, как это сделать.Я знаю, как напечатать фотографию 320 * 200.

1 Ответ

0 голосов
/ 10 февраля 2019

Вы делаете это, используя вложенные циклы .Внешний цикл выполняет итерацию по позиции y, а внутренний цикл выполняет итерацию по позиции x.

Предположим, вы хотите разместить фотографию 10x10 в (50,35) (верхний левый угол):

    mov si, ... ; Address of your photo data (256 colors)
    mov bh, 0   ; Display page
    mov dx, 35  ; Y
outerLoop:
    mov cx, 50  ; X
innerLoop:
    lodsb       ; Fetch pixel color from stored photo
    mov ah, 0Ch ; BIOS.WritePixel
    int 10h
    inc cx      ; Next X
    cmp cx, 50+10
    jb  innerLoop
    inc dx      ; Next Y
    cmp dx, 35+10
    jb  outerLoop
...