23bf5e60ae
git-svn-id: svn://kolibrios.org@1792 a494cfbc-eb01-0410-851d-a64ba20cac60
60 lines
1.2 KiB
PHP
60 lines
1.2 KiB
PHP
convert_bmp_to_img:
|
|
movzx eax,word [ebp+28]
|
|
mul dword [ebp+18]
|
|
mov ebx,32
|
|
div ebx
|
|
test edx,edx
|
|
je noaddword
|
|
inc eax
|
|
noaddword:
|
|
mov [dwps],eax ;dwps-doublewords per string
|
|
shl eax,2
|
|
mov [bps],eax ;bps-bytes per string
|
|
|
|
cmp dword [ebp+34],0
|
|
jne yespicsize ;if picture size is defined
|
|
mul dword [ebp+22]
|
|
mov dword [ebp+34],eax
|
|
|
|
yespicsize:
|
|
mov eax,ebp
|
|
push eax
|
|
sub eax, [ebp+2];file size
|
|
mov [soi],eax ;soi-start of image area for drawing
|
|
pop eax
|
|
add eax, [ebp+10]
|
|
mov [sop],eax ;sop-start of picture in file
|
|
add eax, [ebp+34]
|
|
mov [eop],eax ;eop-end of picture in file
|
|
mov eax, [ebp+18]
|
|
mov ebx,3
|
|
mul ebx ;3x pixels in eax
|
|
|
|
mov edi,[soi] ;initializing
|
|
mov esi,[eop]
|
|
sub esi,[bps]
|
|
|
|
|
|
nextstring:
|
|
push edi
|
|
mov ecx,[dwps]
|
|
cld
|
|
rep movsd
|
|
convert1:
|
|
pop edi
|
|
sub esi,[bps]
|
|
sub esi,[bps]
|
|
cmp esi,[sop]
|
|
jb nomorestring
|
|
add edi,eax
|
|
jmp nextstring
|
|
|
|
nomorestring:
|
|
ret
|
|
|
|
bps dd 0
|
|
dwps dd 0
|
|
soi dd 0
|
|
sop dd 0
|
|
eop dd 0
|