Rev 6175 | Rev 6210 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6175 | Rev 6178 | ||
---|---|---|---|
Line 821... | Line 821... | ||
821 | cmp ebx,1 |
821 | cmp ebx,1 |
822 | jl @f |
822 | jl @f |
823 | cmp ebx,buf2d_h |
823 | cmp ebx,buf2d_h |
824 | jge @f |
824 | jge @f |
825 | ;ᦠ⨥ ¯® ¢ëá®â¥ |
825 | ;ᦠ⨥ ¯® ¢ëá®â¥ |
826 | ;... ¥é¥ ¥ ¯®¤¤¥à¦¨¢ ¥âáï ... |
826 | stdcall img_rgb24_hresize, buf2d_data,eax,buf2d_h,ebx |
827 | @@: |
827 | @@: |
828 | .24_end_r: |
828 | .24_end_r: |
829 | bt dword[options],0 ;¨§¬¥. ¡ãä¥à |
829 | bt dword[options],0 ;¨§¬¥. ¡ãä¥à |
830 | jnc .end_f |
830 | jnc .end_f |
831 | mov eax,dword[new_w] |
831 | mov eax,dword[new_w] |
Line 1828... | Line 1828... | ||
1828 | jnz .cycyle_0 |
1828 | jnz .cycyle_0 |
1829 | popad |
1829 | popad |
1830 | ret |
1830 | ret |
1831 | endp |
1831 | endp |
Line -... | Line 1832... | ||
- | 1832 | ||
- | 1833 | ;description: |
|
- | 1834 | ; ᦠ⨥ ¨§®¡à ¦¥¨ï ¯® ¢ëá®â¥ (à §¬¥àë ¡ãä¥à ¥ ¬¥ïîâáï) |
|
- | 1835 | ;input: |
|
- | 1836 | ; data_rgb - pointer to rgb data |
|
- | 1837 | ; size_w - width img in pixels |
|
- | 1838 | ; size_h - height img in pixels |
|
- | 1839 | ; size_h_new - new height img in pixels |
|
- | 1840 | align 16 |
|
- | 1841 | proc img_rgb24_hresize, data_rgb:dword, size_w:dword, size_h:dword, size_h_new:dword |
|
- | 1842 | locals |
|
- | 1843 | pr dd 0 |
|
- | 1844 | pg dd 0 |
|
- | 1845 | pb dd 0 |
|
- | 1846 | img_n dd ? ;㪠§ â¥«ì ¤ ë¥ ®¢®£® ¨§®¡à ¦¥¨ï |
|
- | 1847 | cols dd ? |
|
- | 1848 | lin_b dd ? ;à §¬¥à «¨¨¨ ¨§®¡à ¦¥¨ï ¢ ¡ ©â å |
|
- | 1849 | data_n dd ? ;㪠§ â¥«ì ¤ ë¥ ¤«ï ®¢®£® á⮫¡æ ¯¨ªá¥«¥© |
|
- | 1850 | endl |
|
- | 1851 | pushad |
|
- | 1852 | ;eax - delta for inp. img |
|
- | 1853 | ;ebx - delta for outp. img |
|
- | 1854 | ;esi - pointer to data_rgb |
|
- | 1855 | mov esi,[data_rgb] |
|
- | 1856 | mov [data_n],esi |
|
- | 1857 | mov eax,[size_w] |
|
- | 1858 | mov [cols],eax |
|
- | 1859 | lea eax,[eax+eax*2] |
|
- | 1860 | mov [lin_b],eax |
|
- | 1861 | align 4 |
|
- | 1862 | .cycyle_0: |
|
- | 1863 | mov eax,[size_h_new] |
|
- | 1864 | mov ecx,[size_h] |
|
- | 1865 | mov ebx,ecx |
|
- | 1866 | mov esi,[data_n] |
|
- | 1867 | mov [img_n],esi |
|
- | 1868 | add dword[data_n],3 ;¯¥à¥å®¤ á«¥¤ãî騩 á⮫¡¥æ ¯¨ªá¥«¥© |
|
- | 1869 | align 4 |
|
- | 1870 | .cycyle_1: |
|
- | 1871 | cmp eax,ebx |
|
- | 1872 | jg .else_0 |
|
- | 1873 | ;ª®¯¨àã¥¬ë© ¯¨ªá¥«ì ¬ ªá¨¬ «ì® ¢«¨ï¥â १ã«ìâ â |
|
- | 1874 | ; ª ¯«¨¢ ¥¬ rgb ¤«ï ¨â¥à¯®«ï樨 ¯¨ªá¥«¥© |
|
- | 1875 | mov edx,[size_h_new] |
|
- | 1876 | movzx edi,byte[esi] |
|
- | 1877 | imul edi,edx |
|
- | 1878 | add [pb],edi |
|
- | 1879 | movzx edi,byte[esi+1] |
|
- | 1880 | imul edi,edx |
|
- | 1881 | add [pg],edi |
|
- | 1882 | movzx edi,byte[esi+2] |
|
- | 1883 | imul edi,edx |
|
- | 1884 | add [pr],edi |
|
- | 1885 | cmp eax,ebx |
|
- | 1886 | je .d2_add |
|
- | 1887 | jmp .if_0_end |
|
- | 1888 | .else_0: |
|
- | 1889 | ;ª®¯¨àã¥¬ë© ¯¨ªá¥«ì ¯®¯ ¤¥â £à ¨æã ¯¨ªá¥«¥© |
|
- | 1890 | mov edx,ebx |
|
- | 1891 | sub edx,eax |
|
- | 1892 | add edx,[size_h_new] |
|
- | 1893 | movzx edi,byte[esi] |
|
- | 1894 | imul edi,edx |
|
- | 1895 | add [pb],edi |
|
- | 1896 | movzx edi,byte[esi+1] |
|
- | 1897 | imul edi,edx |
|
- | 1898 | add [pg],edi |
|
- | 1899 | movzx edi,byte[esi+2] |
|
- | 1900 | imul edi,edx |
|
- | 1901 | add [pr],edi |
|
- | 1902 | ;á®åà 塞 £®â®¢®¥ rgb |
|
- | 1903 | .d2_add: |
|
- | 1904 | push eax |
|
- | 1905 | mov edi,[img_n] |
|
- | 1906 | mov eax,[pb] |
|
- | 1907 | xor edx,edx |
|
- | 1908 | div dword[size_h] ;eax /= [size_h] |
|
- | 1909 | stosb |
|
- | 1910 | mov eax,[pg] |
|
- | 1911 | xor edx,edx |
|
- | 1912 | div dword[size_h] ;eax /= [size_h] |
|
- | 1913 | stosb |
|
- | 1914 | mov eax,[pr] |
|
- | 1915 | xor edx,edx |
|
- | 1916 | div dword[size_h] ;eax /= [size_h] |
|
- | 1917 | stosb |
|
- | 1918 | pop eax |
|
- | 1919 | mov edx,[lin_b] |
|
- | 1920 | add dword[img_n],edx ;next pixel |
|
- | 1921 | ;®¡®¢«ï¥¬ rgb ¤«ï ®¢®£® ¯¨ªá¥«ï |
|
- | 1922 | mov edx,eax |
|
- | 1923 | sub edx,ebx |
|
- | 1924 | movzx edi,byte[esi] |
|
- | 1925 | imul edi,edx |
|
- | 1926 | mov [pb],edi |
|
- | 1927 | movzx edi,byte[esi+1] |
|
- | 1928 | imul edi,edx |
|
- | 1929 | mov [pg],edi |
|
- | 1930 | movzx edi,byte[esi+2] |
|
- | 1931 | imul edi,edx |
|
- | 1932 | mov [pr],edi |
|
- | 1933 | add ebx,[size_h] |
|
- | 1934 | .if_0_end: |
|
- | 1935 | add eax,[size_h_new] |
|
- | 1936 | add esi,[lin_b] ;next pixel |
|
- | 1937 | dec ecx |
|
- | 1938 | jnz .cycyle_1 |
|
- | 1939 | dec dword[cols] |
|
- | 1940 | jnz .cycyle_0 |
|
- | 1941 | popad |
|
- | 1942 | ret |
|
- | 1943 | endp |
|
1832 | 1944 | ||
1833 | ;¯à¥®¡à §®¢ ¨¥ ¡ãä¥à ¨§ 24-¡¨â®£® ¢ 8-¡¨âë© |
1945 | ;¯à¥®¡à §®¢ ¨¥ ¡ãä¥à ¨§ 24-¡¨â®£® ¢ 8-¡¨âë© |
1834 | ; spectr - ®¯à¥¤¥«ï¥â ª ª®© ᯥªâà ¡à âì ¯à¨ ¯à¥®¡à §®¢ ¨¨ 0-ᨨ©, 1-§¥«¥ë©, 2-ªà áë© |
1946 | ; spectr - ®¯à¥¤¥«ï¥â ª ª®© ᯥªâà ¡à âì ¯à¨ ¯à¥®¡à §®¢ ¨¨ 0-ᨨ©, 1-§¥«¥ë©, 2-ªà áë© |
1835 | align 4 |
1947 | align 4 |
1836 | proc buf_conv_24_to_8, buf_struc:dword, spectr:dword |
1948 | proc buf_conv_24_to_8, buf_struc:dword, spectr:dword |