如何在特定位置打印bmp

How to print bmp in specific place

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

您可以使用嵌套循环来执行此操作。外循环遍历 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