1,7 → 1,8 |
; |
; ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© ç१ äãªæ¨¨ ¡¨¡«¨®â¥ª¨ libimg. |
; ¥©áâ¢¨ï ª®â®àë¥ ¤¥« ¥â ¬ ªà®á load_image_file: |
; ªà®áë ¤«ï ¤¥ª®¤¨à®¢ ¨ï ¨§®¡à ¦¥¨© ç१ äãªæ¨¨ ¡¨¡«¨®â¥ª¨ libimg. |
; |
; (1) ¬ ªà®á load_image_file: |
; |
; ஢¥àï¥â à §¬¥à ¯®«ã祮£® ä ©« á ¨§®¡à ¦¥¨¥¬. |
; 뤥«ï¥â ¯®¤ ¥£® ¯ ¬ïâì ¨ § £à㦠¥â âã¤ ä ©«. |
; ¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ¨§®¡à ¦¥¨ï. |
13,6 → 14,15 |
; ¨á¯®«ì§ãî饩 ¯à®£à ¬¬¥ ¤®«¦ ¡ëâì ¯®¤ª«îç¥ ¡¨¡«¨®â¥ª libimg, |
; ®¡ê¥ ¯¥à¥¬¥ ï file_name à §¬¥à®¬ ®ª®«® 4096 ¡ ©â, |
; â ª¦¥ áâàãªâãà run_file_70 ⨯ FileInfoBlock. |
; |
; (2) ¬ ªà®á include_image_file: |
; |
; ¥¤àï¥â ¨§®¡à ¦¥¨¥ ¢ ä ©« ¯à®£à ¬¬ë. |
; ¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ¨§®¡à ¦¥¨ï. |
; 뤥«ï¥â ¯ ¬ïâì, ¨ à ᯠª®¢ë¢ ¥â ¨§®¡à ¦¥¨¥ ¨§ ä®à¬ ⮢ jpg, png, ... |
; ¢ ä®à¬ â rgb ª®â®àë© ¬®¦® ¢ë¢®¤¨âì íªà ç¥à¥§ á¨áâ. äãªæ¨î. |
; ਠ¥®¡å®¤¨¬®á⨠¬®¦® â ª¦¥ ¯®«ãç¨âì à §¬¥àë ¢¥¤à¥®£® ¨§®¡à ¦¥¨ï ¤«ï |
; ¨å ¤ «ì¥©è¥£® ¨á¯®«ì§®¢ ¨ï ¢ ¯à®£à ¬¬¥. |
|
; ¯®¤ª«î票¥ ¥ª®â®àëå ¥®¡å®¤¨¬ëå ä ©«®¢: |
include 'dll.inc' |
126,3 → 136,49 |
notify_window_run txt_err_img_file |
.end_open: |
} |
|
|
|
; path - ¨¬ï ¢ª«îç ¥¬®£® ä ©« |
; buf - ¯¥à¥¬¥ ï ªã¤ ¡ã¤¥â § ¯¨á 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠rgb |
; img_w, img_h - ¯¥à¥¬¥ë¥ ªã¤ ¡ã¤ãâ § ¯¨á ë à §¬¥àë ¨§®¡à ¦¥¨ï, |
; ¥ ®¡ï§ ⥫ìë¥ ¯ à ¬¥âàë |
; bytes_p_p - ᪮«ìª® ¡ ©â ¯ ¬ï⨠¡à âì ¯¨ªá¥«ì, ¥ ®¡ï§ ⥫ìë© ¯ à ¬¥âà |
; ¥á«¨ ¥ 㪠§ ¡¥à¥âáï 3. ¨¨¬ «ì®¥ § 票¥ ¤®«¦® ¡ëâì ¥ ¬¥ìè¥ 3. |
macro include_image_file path, buf, img_w, img_h, bytes_p_p |
{ |
local .beg_file |
local .end_file |
|
jmp .end_file |
align 4 |
.beg_file: |
file path |
.end_file: |
|
;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¨è¥¬ ¥£® ¯ à ¬¥âàë |
stdcall [img_decode], .beg_file,.end_file-.beg_file,0 |
mov ebx,eax |
;®¯à¥¤¥«ï¥¬ à §¬¥à ¤¥ª®¤¨à®¢ ®£® ¨§®¡à ¦¥¨ï |
mov ecx,[eax+4] ;+4 = image width |
if img_w eq |
else |
mov dword[img_w],ecx |
end if |
if img_h eq |
imul ecx,[eax+8] ;+8 = image height |
else |
mov eax,[eax+8] ;+8 = image height |
mov dword[img_h],eax |
imul ecx,eax |
end if |
if bytes_p_p eq |
imul ecx,3 ;need for r,g,b |
else |
imul ecx,bytes_p_p |
end if |
stdcall mem.Alloc,ecx ;¨§¬¥ï¥¬ à §¬¥à ¤«ï ¡ãä¥à |
mov [buf],eax |
stdcall [img_to_rgb2], ebx,[buf] ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
stdcall [img_destroy], ebx ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à á ¯ à ¬¥âà ¬¨ ¨§®¡à ¦¥¨ï |
} |