Rev 6906 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6906 | Rev 8442 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; ªà®áë ¤«ï ¤¥ª®¤¨à®¢ ¨ï ¨§®¡à ¦¥¨© ç१ äãªæ¨¨ ¡¨¡«¨®â¥ª¨ libimg. |
2 | ; ªà®áë ¤«ï ¤¥ª®¤¨à®¢ ¨ï ¨§®¡à ¦¥¨© ç१ äãªæ¨¨ ¡¨¡«¨®â¥ª¨ libimg. |
3 | ; |
3 | ; |
4 | ; (1) ¬ ªà®á load_image_file: |
4 | ; (1) ¬ ªà®á load_image_file: |
5 | ; |
5 | ; |
6 | ; ஢¥àï¥â à §¬¥à ¯®«ã祮£® ä ©« á ¨§®¡à ¦¥¨¥¬. |
6 | ; ஢¥àï¥â à §¬¥à ¯®«ã祮£® ä ©« á ¨§®¡à ¦¥¨¥¬. |
7 | ; 뤥«ï¥â ¯®¤ ¥£® ¯ ¬ïâì ¨ § £à㦠¥â âã¤ ä ©«. |
7 | ; 뤥«ï¥â ¯®¤ ¥£® ¯ ¬ïâì ¨ § £à㦠¥â âã¤ ä ©«. |
8 | ; ¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ¨§®¡à ¦¥¨ï. |
8 | ; ¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ¨§®¡à ¦¥¨ï. |
9 | ; ¥à¥¢ë¤¥«ï¥â ¯ ¬ïâì, ¨ à ᯠª®¢ë¢ ¥â ¨§®¡à ¦¥¨¥ ¨§ ä®à¬ ⮢ jpg, png, ... |
9 | ; ¥à¥¢ë¤¥«ï¥â ¯ ¬ïâì, ¨ à ᯠª®¢ë¢ ¥â ¨§®¡à ¦¥¨¥ ¨§ ä®à¬ ⮢ jpg, png, ... |
10 | ; ¢ ä®à¬ â rgb ª®â®àë© ¬®¦® ¢ë¢®¤¨âì íªà ç¥à¥§ á¨áâ. äãªæ¨î. |
10 | ; ¢ ä®à¬ â rgb ª®â®àë© ¬®¦® ¢ë¢®¤¨âì íªà ç¥à¥§ á¨áâ. äãªæ¨î. |
11 | ; ਠ¥®¡å®¤¨¬®á⨠¬®¦® â ª¦¥ ¯®«ãç¨âì à §¬¥àë ®âªàë¢ ¥¬®£® ¨§®¡à ¦¥¨ï ¤«ï |
11 | ; ਠ¥®¡å®¤¨¬®á⨠¬®¦® â ª¦¥ ¯®«ãç¨âì à §¬¥àë ®âªàë¢ ¥¬®£® ¨§®¡à ¦¥¨ï ¤«ï |
12 | ; ¨å ¤ «ì¥©è¥£® ¨á¯®«ì§®¢ ¨ï ¢ ¯à®£à ¬¬¥. |
12 | ; ¨å ¤ «ì¥©è¥£® ¨á¯®«ì§®¢ ¨ï ¢ ¯à®£à ¬¬¥. |
13 | ; |
13 | ; |
14 | ; ¨á¯®«ì§ãî饩 ¯à®£à ¬¬¥ ¤®«¦ ¡ëâì ¯®¤ª«îç¥ ¡¨¡«¨®â¥ª libimg, |
14 | ; ¨á¯®«ì§ãî饩 ¯à®£à ¬¬¥ ¤®«¦ ¡ëâì ¯®¤ª«îç¥ ¡¨¡«¨®â¥ª libimg, |
15 | ; ®¡ê¥ ¯¥à¥¬¥ ï file_name à §¬¥à®¬ ®ª®«® 4096 ¡ ©â, |
15 | ; ®¡ê¥ ¯¥à¥¬¥ ï file_name à §¬¥à®¬ ®ª®«® 4096 ¡ ©â, |
16 | ; â ª¦¥ áâàãªâãà run_file_70 ⨯ FileInfoBlock. |
16 | ; â ª¦¥ áâàãªâãà run_file_70 ⨯ FileInfoBlock. |
17 | ; |
17 | ; |
18 | ; (2) ¬ ªà®á include_image_file: |
18 | ; (2) ¬ ªà®á include_image_file: |
19 | ; |
19 | ; |
20 | ; ¥¤àï¥â ¨§®¡à ¦¥¨¥ ¢ ä ©« ¯à®£à ¬¬ë. |
20 | ; ¥¤àï¥â ¨§®¡à ¦¥¨¥ ¢ ä ©« ¯à®£à ¬¬ë. |
21 | ; ¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ¨§®¡à ¦¥¨ï. |
21 | ; ¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠¥®¡å®¤¨¬®© ¤«ï à ᯠª®¢ª¨ ¨§®¡à ¦¥¨ï. |
22 | ; 뤥«ï¥â ¯ ¬ïâì, ¨ à ᯠª®¢ë¢ ¥â ¨§®¡à ¦¥¨¥ ¨§ ä®à¬ ⮢ jpg, png, ... |
22 | ; 뤥«ï¥â ¯ ¬ïâì, ¨ à ᯠª®¢ë¢ ¥â ¨§®¡à ¦¥¨¥ ¨§ ä®à¬ ⮢ jpg, png, ... |
23 | ; ¢ ä®à¬ â rgb ª®â®àë© ¬®¦® ¢ë¢®¤¨âì íªà ç¥à¥§ á¨áâ. äãªæ¨î. |
23 | ; ¢ ä®à¬ â rgb ª®â®àë© ¬®¦® ¢ë¢®¤¨âì íªà ç¥à¥§ á¨áâ. äãªæ¨î. |
24 | ; ਠ¥®¡å®¤¨¬®á⨠¬®¦® â ª¦¥ ¯®«ãç¨âì à §¬¥àë ¢¥¤à¥®£® ¨§®¡à ¦¥¨ï ¤«ï |
24 | ; ਠ¥®¡å®¤¨¬®á⨠¬®¦® â ª¦¥ ¯®«ãç¨âì à §¬¥àë ¢¥¤à¥®£® ¨§®¡à ¦¥¨ï ¤«ï |
25 | ; ¨å ¤ «ì¥©è¥£® ¨á¯®«ì§®¢ ¨ï ¢ ¯à®£à ¬¬¥. |
25 | ; ¨å ¤ «ì¥©è¥£® ¨á¯®«ì§®¢ ¨ï ¢ ¯à®£à ¬¬¥. |
26 | 26 | ||
27 | ; ¯®¤ª«î票¥ ¥ª®â®àëå ¥®¡å®¤¨¬ëå ä ©«®¢: |
27 | ; ¯®¤ª«î票¥ ¥ª®â®àëå ¥®¡å®¤¨¬ëå ä ©«®¢: |
28 | include 'dll.inc' |
28 | include 'dll.inc' |
29 | include 'develop/libraries/box_lib/load_lib.mac' |
29 | ;include 'load_lib.mac' |
30 | include 'develop/libraries/libs-dev/libio/libio.inc' |
30 | include 'develop/libraries/libs-dev/libio/libio.inc' |
31 | 31 | ||
32 | align 4 |
32 | align 4 |
33 | open_b rb 560 |
33 | open_b rb 560 |
34 | 34 | ||
35 | txt_err_img_file: |
35 | txt_err_img_file: |
36 | if lang eq ru |
36 | if lang eq ru |
37 | db '訡ª N' |
37 | db '訡ª N' |
38 | .n: db '* ¯à¨ ®âªàë⨨ ä ©« ' |
38 | .n: db '* ¯à¨ ®âªàë⨨ ä ©« ' |
39 | else |
39 | else |
40 | db 'Error N' |
40 | db 'Error N' |
41 | .n: db '*. Can',39,'t open file ' |
41 | .n: db '*. Can',39,'t open file ' |
42 | end if |
42 | end if |
43 | .f: dd 0,0 |
43 | .f: dd 0,0 |
44 | 44 | ||
45 | ; path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬ |
45 | ; path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬ |
46 | ; buf - ¯¥à¥¬¥ ï ªã¤ ¡ã¤¥â § ¯¨á 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠rgb, |
46 | ; buf - ¯¥à¥¬¥ ï ªã¤ ¡ã¤¥â § ¯¨á 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠rgb, |
47 | ; ¢ á«ãç ¥ ¥á«¨ ä ©« ¥ ®âªà®¥âáï â® ¡ã¤¥â § ¯¨á 0 |
47 | ; ¢ á«ãç ¥ ¥á«¨ ä ©« ¥ ®âªà®¥âáï â® ¡ã¤¥â § ¯¨á 0 |
48 | ; img_w, img_h - ¯¥à¥¬¥ë¥ ªã¤ ¡ã¤ãâ § ¯¨á ë à §¬¥àë ®âªàë¢ ¥¬®£® |
48 | ; img_w, img_h - ¯¥à¥¬¥ë¥ ªã¤ ¡ã¤ãâ § ¯¨á ë à §¬¥àë ®âªàë¢ ¥¬®£® |
49 | ; ¨§®¡à ¦¥¨ï, ¥ ®¡ï§ ⥫ìë¥ ¯ à ¬¥âàë |
49 | ; ¨§®¡à ¦¥¨ï, ¥ ®¡ï§ ⥫ìë¥ ¯ à ¬¥âàë |
50 | ; bytes_p_p - ᪮«ìª® ¡ ©â ¯ ¬ï⨠¡à âì ¯¨ªá¥«ì, ¥ ®¡ï§ ⥫ìë© ¯ à ¬¥âà |
50 | ; bytes_p_p - ᪮«ìª® ¡ ©â ¯ ¬ï⨠¡à âì ¯¨ªá¥«ì, ¥ ®¡ï§ ⥫ìë© ¯ à ¬¥âà |
51 | ; ¥á«¨ ¥ 㪠§ ¡¥à¥âáï 3. ¨¨¬ «ì®¥ § 票¥ ¤®«¦® ¡ëâì ¥ ¬¥ìè¥ 3. |
51 | ; ¥á«¨ ¥ 㪠§ ¡¥à¥âáï 3. ¨¨¬ «ì®¥ § 票¥ ¤®«¦® ¡ëâì ¥ ¬¥ìè¥ 3. |
52 | macro load_image_file path, buf, img_w, img_h, bytes_p_p |
52 | macro load_image_file path, buf, img_w, img_h, bytes_p_p |
53 | { |
53 | { |
54 | local .err_open |
54 | local .err_open |
55 | local .end_open |
55 | local .end_open |
56 | 56 | ||
57 | if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path |
57 | if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path |
58 | local .path_str |
58 | local .path_str |
59 | jmp @f |
59 | jmp @f |
60 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
60 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
61 | db 0 |
61 | db 0 |
62 | @@: |
62 | @@: |
63 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
63 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
64 | copy_path .path_str,[32],file_name,0 |
64 | copy_path .path_str,[32],file_name,0 |
65 | else |
65 | else |
66 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
66 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
67 | end if |
67 | end if |
68 | mov dword[buf],0 |
68 | mov dword[buf],0 |
69 | 69 | ||
70 | mov [run_file_70.Function], SSF_GET_INFO |
70 | mov [run_file_70.Function], SSF_GET_INFO |
71 | mov [run_file_70.Position], 0 |
71 | mov [run_file_70.Position], 0 |
72 | mov [run_file_70.Flags], 0 |
72 | mov [run_file_70.Flags], 0 |
73 | mov dword[run_file_70.Count], 0 |
73 | mov dword[run_file_70.Count], 0 |
74 | mov dword[run_file_70.Buffer], open_b |
74 | mov dword[run_file_70.Buffer], open_b |
75 | mov byte[run_file_70+20], 0 |
75 | mov byte[run_file_70+20], 0 |
76 | mov dword[run_file_70.FileName], file_name |
76 | mov dword[run_file_70.FileName], file_name |
77 | mcall SF_FILE,run_file_70 |
77 | mcall SF_FILE,run_file_70 |
78 | or eax,eax |
78 | or eax,eax |
79 | jnz .err_open |
79 | jnz .err_open |
80 | 80 | ||
81 | mov ecx,dword[open_b+32] ;+32 qword: à §¬¥à ä ©« ¢ ¡ ©â å |
81 | mov ecx,dword[open_b+32] ;+32 qword: à §¬¥à ä ©« ¢ ¡ ©â å |
82 | stdcall mem.Alloc,ecx ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
82 | stdcall mem.Alloc,ecx ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
83 | mov [buf],eax |
83 | mov [buf],eax |
84 | mov [run_file_70.Function], SSF_READ_FILE |
84 | mov [run_file_70.Function], SSF_READ_FILE |
85 | mov [run_file_70.Position], 0 |
85 | mov [run_file_70.Position], 0 |
86 | mov [run_file_70.Flags], 0 |
86 | mov [run_file_70.Flags], 0 |
87 | mov [run_file_70.Count], ecx |
87 | mov [run_file_70.Count], ecx |
88 | mov [run_file_70.Buffer], eax |
88 | mov [run_file_70.Buffer], eax |
89 | mov byte[run_file_70+20], 0 |
89 | mov byte[run_file_70+20], 0 |
90 | mov [run_file_70.FileName], file_name |
90 | mov [run_file_70.FileName], file_name |
91 | mcall SF_FILE,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
91 | mcall SF_FILE,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
92 | test eax,eax |
92 | test eax,eax |
93 | jnz .err_open |
93 | jnz .err_open |
94 | cmp ebx,0xffffffff |
94 | cmp ebx,0xffffffff |
95 | je .end_open |
95 | je .end_open |
96 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¨è¥¬ ¥£® ¯ à ¬¥âàë |
96 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¨è¥¬ ¥£® ¯ à ¬¥âàë |
97 | stdcall [img_decode], [buf],ebx,0 |
97 | stdcall [img_decode], [buf],ebx,0 |
98 | mov ebx,eax |
98 | mov ebx,eax |
99 | ;®¯à¥¤¥«ï¥¬ à §¬¥à ¤¥ª®¤¨à®¢ ®£® ¨§®¡à ¦¥¨ï |
99 | ;®¯à¥¤¥«ï¥¬ à §¬¥à ¤¥ª®¤¨à®¢ ®£® ¨§®¡à ¦¥¨ï |
100 | mov ecx,[eax+4] ;+4 = image width |
100 | mov ecx,[eax+4] ;+4 = image width |
101 | if img_w eq |
101 | if img_w eq |
102 | else |
102 | else |
103 | mov dword[img_w],ecx |
103 | mov dword[img_w],ecx |
104 | end if |
104 | end if |
105 | if img_h eq |
105 | if img_h eq |
106 | imul ecx,[eax+8] ;+8 = image height |
106 | imul ecx,[eax+8] ;+8 = image height |
107 | else |
107 | else |
108 | mov eax,[eax+8] ;+8 = image height |
108 | mov eax,[eax+8] ;+8 = image height |
109 | mov dword[img_h],eax |
109 | mov dword[img_h],eax |
110 | imul ecx,eax |
110 | imul ecx,eax |
111 | end if |
111 | end if |
112 | if bytes_p_p eq |
112 | if bytes_p_p eq |
113 | imul ecx,3 ;need for r,g,b |
113 | imul ecx,3 ;need for r,g,b |
114 | else |
114 | else |
115 | imul ecx,bytes_p_p |
115 | imul ecx,bytes_p_p |
116 | end if |
116 | end if |
117 | stdcall mem.ReAlloc,[buf],ecx ;¨§¬¥ï¥¬ à §¬¥à ¤«ï ¡ãä¥à |
117 | stdcall mem.ReAlloc,[buf],ecx ;¨§¬¥ï¥¬ à §¬¥à ¤«ï ¡ãä¥à |
118 | mov [buf],eax |
118 | mov [buf],eax |
119 | stdcall [img_to_rgb2], ebx,[buf] ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
119 | stdcall [img_to_rgb2], ebx,[buf] ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
120 | stdcall [img_destroy], ebx ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à á ¯ à ¬¥âà ¬¨ ¨§®¡à ¦¥¨ï |
120 | stdcall [img_destroy], ebx ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à á ¯ à ¬¥âà ¬¨ ¨§®¡à ¦¥¨ï |
121 | jmp .end_open |
121 | jmp .end_open |
122 | .err_open: |
122 | .err_open: |
123 | add al,'0' |
123 | add al,'0' |
124 | mov byte[txt_err_img_file.n],al |
124 | mov byte[txt_err_img_file.n],al |
125 | if path eqtype '' |
125 | if path eqtype '' |
126 | mov eax,dword[.path_str] |
126 | mov eax,dword[.path_str] |
127 | mov dword[txt_err_img_file.f],eax |
127 | mov dword[txt_err_img_file.f],eax |
128 | mov eax,dword[.path_str+4] |
128 | mov eax,dword[.path_str+4] |
129 | else |
129 | else |
130 | mov eax,dword[path] |
130 | mov eax,dword[path] |
131 | mov dword[txt_err_img_file.f],eax |
131 | mov dword[txt_err_img_file.f],eax |
132 | mov eax,dword[path+4] |
132 | mov eax,dword[path+4] |
133 | end if |
133 | end if |
134 | mov dword[txt_err_img_file.f+4],eax |
134 | mov dword[txt_err_img_file.f+4],eax |
135 | mov byte[txt_err_img_file.f+7],0 |
135 | mov byte[txt_err_img_file.f+7],0 |
136 | notify_window_run txt_err_img_file |
136 | notify_window_run txt_err_img_file |
137 | .end_open: |
137 | .end_open: |
138 | } |
138 | } |
139 | 139 | ||
140 | 140 | ||
141 | 141 | ||
142 | ; path - ¨¬ï ¢ª«îç ¥¬®£® ä ©« |
142 | ; path - ¨¬ï ¢ª«îç ¥¬®£® ä ©« |
143 | ; buf - ¯¥à¥¬¥ ï ªã¤ ¡ã¤¥â § ¯¨á 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠rgb |
143 | ; buf - ¯¥à¥¬¥ ï ªã¤ ¡ã¤¥â § ¯¨á 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠rgb |
144 | ; img_w, img_h - ¯¥à¥¬¥ë¥ ªã¤ ¡ã¤ãâ § ¯¨á ë à §¬¥àë ¨§®¡à ¦¥¨ï, |
144 | ; img_w, img_h - ¯¥à¥¬¥ë¥ ªã¤ ¡ã¤ãâ § ¯¨á ë à §¬¥àë ¨§®¡à ¦¥¨ï, |
145 | ; ¥ ®¡ï§ ⥫ìë¥ ¯ à ¬¥âàë |
145 | ; ¥ ®¡ï§ ⥫ìë¥ ¯ à ¬¥âàë |
146 | ; bytes_p_p - ᪮«ìª® ¡ ©â ¯ ¬ï⨠¡à âì ¯¨ªá¥«ì, ¥ ®¡ï§ ⥫ìë© ¯ à ¬¥âà |
146 | ; bytes_p_p - ᪮«ìª® ¡ ©â ¯ ¬ï⨠¡à âì ¯¨ªá¥«ì, ¥ ®¡ï§ ⥫ìë© ¯ à ¬¥âà |
147 | ; ¥á«¨ ¥ 㪠§ ¡¥à¥âáï 3. ¨¨¬ «ì®¥ § 票¥ ¤®«¦® ¡ëâì ¥ ¬¥ìè¥ 3. |
147 | ; ¥á«¨ ¥ 㪠§ ¡¥à¥âáï 3. ¨¨¬ «ì®¥ § 票¥ ¤®«¦® ¡ëâì ¥ ¬¥ìè¥ 3. |
148 | macro include_image_file path, buf, img_w, img_h, bytes_p_p |
148 | macro include_image_file path, buf, img_w, img_h, bytes_p_p |
149 | { |
149 | { |
150 | local .beg_file |
150 | local .beg_file |
151 | local .end_file |
151 | local .end_file |
152 | 152 | ||
153 | jmp .end_file |
153 | jmp .end_file |
154 | align 4 |
154 | align 4 |
155 | .beg_file: |
155 | .beg_file: |
156 | file path |
156 | file path |
157 | .end_file: |
157 | .end_file: |
158 | 158 | ||
159 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¨è¥¬ ¥£® ¯ à ¬¥âàë |
159 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¨è¥¬ ¥£® ¯ à ¬¥âàë |
160 | stdcall [img_decode], .beg_file,.end_file-.beg_file,0 |
160 | stdcall [img_decode], .beg_file,.end_file-.beg_file,0 |
161 | mov ebx,eax |
161 | mov ebx,eax |
162 | ;®¯à¥¤¥«ï¥¬ à §¬¥à ¤¥ª®¤¨à®¢ ®£® ¨§®¡à ¦¥¨ï |
162 | ;®¯à¥¤¥«ï¥¬ à §¬¥à ¤¥ª®¤¨à®¢ ®£® ¨§®¡à ¦¥¨ï |
163 | mov ecx,[eax+4] ;+4 = image width |
163 | mov ecx,[eax+4] ;+4 = image width |
164 | if img_w eq |
164 | if img_w eq |
165 | else |
165 | else |
166 | mov dword[img_w],ecx |
166 | mov dword[img_w],ecx |
167 | end if |
167 | end if |
168 | if img_h eq |
168 | if img_h eq |
169 | imul ecx,[eax+8] ;+8 = image height |
169 | imul ecx,[eax+8] ;+8 = image height |
170 | else |
170 | else |
171 | mov eax,[eax+8] ;+8 = image height |
171 | mov eax,[eax+8] ;+8 = image height |
172 | mov dword[img_h],eax |
172 | mov dword[img_h],eax |
173 | imul ecx,eax |
173 | imul ecx,eax |
174 | end if |
174 | end if |
175 | if bytes_p_p eq |
175 | if bytes_p_p eq |
176 | imul ecx,3 ;need for r,g,b |
176 | imul ecx,3 ;need for r,g,b |
177 | else |
177 | else |
178 | imul ecx,bytes_p_p |
178 | imul ecx,bytes_p_p |
179 | end if |
179 | end if |
180 | stdcall mem.Alloc,ecx ;¨§¬¥ï¥¬ à §¬¥à ¤«ï ¡ãä¥à |
180 | stdcall mem.Alloc,ecx ;¨§¬¥ï¥¬ à §¬¥à ¤«ï ¡ãä¥à |
181 | mov [buf],eax |
181 | mov [buf],eax |
182 | stdcall [img_to_rgb2], ebx,[buf] ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
182 | stdcall [img_to_rgb2], ebx,[buf] ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
183 | stdcall [img_destroy], ebx ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à á ¯ à ¬¥âà ¬¨ ¨§®¡à ¦¥¨ï |
183 | stdcall [img_destroy], ebx ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à á ¯ à ¬¥âà ¬¨ ¨§®¡à ¦¥¨ï |
184 | } |
184 | } |