alphablt.inc

来自「vc写的源程序,是关于游戏类的程序。调用了系统的很多API」· INC 代码 · 共 42 行

INC
42
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?