如何打印BMP在特定的地方

问题描述 投票:0回答:1

我想打印一张小照片10×10像素在一个特定的地方,但我不知道该怎么做。我知道如何打印320 * 200的照片。

assembly bmp emu8086
1个回答
2
投票

你做到这一点使用嵌套循环。外循环迭代y位置和在所述x位置的内循环迭代。

假设你想发生在(50,35)的10×10照片(左上角):

    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
© www.soinside.com 2019 - 2024. All rights reserved.