📄 alphablt.inc
字号:
// Alpha混合的位图复制
PUSH edi;
PUSH esi;
#include "clipblit.inc"
MOV ebx, dest_bmp; // 把dest_bmp.bit的地址保存在edi
MOV edi, [ebx]BMP.bit;
MOV edx, src_bmp; // 把src_bmp.bit的地址保存在edi
MOV esi, [edx]BMP.bit;
MOV ax, [ebx]BMP.colorkey;
SAL x, 1;
ADD edi, x;
SAL srcx, 1;
ADD esi, srcx;
MOV eax, srcy;
IMUL [edx]BMP.pitch_byte;
ADD esi, eax;
MOV eax, y;
IMUL [ebx]BMP.pitch_byte;
ADD edi, eax;
MOV edx, src_bmp; // 把src_bmp.bit的地址保存在edi
MOV ebx, [ebx]BMP.width;
SUB ebx, w;
SAL ebx, 1;
MOV edx, [edx]BMP.width;
SUB edx, w;
SAL edx, 1;
CLD;
MOV ecx, h;
ALIGN 4
TEST w, 1;
JNZ _is_odd;
JMP _no_odd;
_bitblt_end:
POP esi;
POP edi;
JMP _alpha_bitblt_end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -