【问题标题】:How to print bmp in specific place如何在特定位置打印bmp
【发布时间】:2019-02-10 15:46:40
【问题描述】:

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

【问题讨论】:

  • 您能告诉我们如何打印 320x200 的照片吗?

标签: assembly bmp emu8086


【解决方案1】:

您可以使用嵌套循环来做到这一点。外层循环遍历 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2022-07-08
    • 2022-07-22
    相关资源
    最近更新 更多