рдирдорд╕реНрдХрд╛рд░ рджреЛрд╕реНрддреЛрдВ!
рдореИрдВ рдЖрдкрдХреЛ HTML5 рд░реВрдкрд░реЗрдЦрд╛ рдкрд░ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдХреЗ рд╕рд╛рде рдПрдиреАрдореЗрд╢рди рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдкрд╛рда рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред
рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ред
рдкрд╣рд▓реЗ, рдЪрд▓реЛ рдХреБрдЫ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рдХреНрдпреЛрдВ рдЧреЛрд▓ рдФрд░ рдкреАрд▓реЗ? рдХреНрдпреЛрдВрдХрд┐ рдбрдЧрд▓рд╕ рдПрдбрдореНрд╕ рдЗрди рд╣рд┐рдЪрд╣рд╛рдЗрдХрд░ рдЧрд╛рдЗрдб рдЯреВ рдж рдЧреИрд▓реЗрдХреНрд╕реА рдореЗрдВ рдПрдХ рдРрд╕рд╛ рд╕реНрд▓реЗрд░реНрдЯрд┐рдмрд░реНрдЯрдлрд╛рд╕реНрдЯ рд╣реИ - рдПрдХ рдмрд╣реБрдд рд╣реА рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдЪрд╛рдЪрд╛ рдЬреЛ рдкреГрдереНрд╡реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рддрдЯрд░реЗрдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд░рд╕реНрдХрд╛рд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рдкреАрд▓реЗ рддрд╛рд░реЗ рдХреЛ рдЪреЗрддрди рдХрд░реЗрдВрдЧреЗред
рдЕрдЧрд▓рд╛, рд╣рдо 256x256 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдлреНрд░реЗрдо рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде 256 рдлреНрд░реЗрдо рдХреЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рд╕реНрдЯрд╛рд░ рдХреЛ рдЪреЗрддрди рдХрд░рддреЗ рд╣реИрдВред
рдЙрди 256, рдЗрди 256 рдФрд░ рдЙрди 256 рдХреЛ рдХреЗрд╡рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдиреАрдореЗрд╢рди рдЫреЛрдЯрд╛ рдФрд░ рдЫреЛрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рде рд╣реА рд╕рд╛рде рд▓рдВрдмрд╛ рдФрд░ рдмрдбрд╝рд╛ - рдпрд╣ рд╕рдм рдЖрдкрдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдЬ 256x256 рдкрд┐рдХреНрд╕рд▓ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рд╕рд╛рдорд╛рдиреНрдп рдЖрдХрд╛рд░ рд╣реИ: рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реИред рдмреЗрд╢рдХ, рдкрд╣рд▓реЗ, рдЬрдм рдШрд╛рд╕ рд╣рд░рд┐рдпрд╛рд▓реА рдереА, рдФрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ 16x16 рдпрд╛ 32x32 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдорд╛рдореВрд▓реА рдереЗ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
256 рдлрд╝реНрд░реЗрдо рднреА рдЗрддрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдХрдо рдирд╣реАрдВ рд╣реИ: рдлреНрд░реЗрдо рджрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк 10-20-30 рд╕реЗрдХрдВрдб рдХрд╛ рдЕрдиреБрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рддрдХ, рд╕рднреА рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рдмрд┐рдирд╛, рдЬрдм рддрдХ рдЖрдк рдлреНрд░реЗрдо, рдЕрд╡рдзрд┐ рдФрд░ рдЧрд╣рд░рд╛рдИ рдХреЗ рдкрдХреНрд╖реЛрдВ рдХреЗ рдЖрдпрд╛рдореЛрдВ рдХреЛ рдЧреБрдгрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:
256 x 256 x 256 x 4 = 64 рдПрдордмреА
рд╣рд╛рд▓рд╛рдВрдХрд┐! рдмрд┐рдирд╛ рд╕рдВрдкреАрдбрд╝рди рдХреЗ 64 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЪрд┐рдХрдирд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд╕рднреА 256 рдлреНрд░реЗрдо рдХреА рдЧрдгрдирд╛ 16x16 рдлреНрд░реЗрдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдордЫрд▓реА рдХреЛ рдПрдХ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ (рд╕рдм рдХреБрдЫ рдПрдбреЛрдм рдЖрдлреНрдЯрд░ рдЗрдлреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдкреАрдПрдирдЬреА рдореЗрдВ рд╕реЗрд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ 18.6 рдПрдордмреА рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ 64 рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рдкреАрдПрдирдЬреА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ
рд▓рд┐рдВрдХ рд╣реИ ред
рдирд┐рдЪреЛрдбрд╝!
рдХреНрдпрд╛ PNG рдХрдореНрдкреНрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рднрд╛рд╡ рдЗрддрдирд╛ рд▓рд╛рдкрд░рд╡рд╛рд╣ рд╣реИ? рдкрд░рд┐рдгрд╛рдореА рдЧреНрд░рд┐рдб рдХреЛ рдПрдХ рдЖрдХрд╛рд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ OptiPNG рдФрд░ PNGOut рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП PNG рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рддрдХ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрдкреАрдбрд╝рди рдХреЛ 1.5 рдкреНрд░рддрд┐рд╢рдд рдХрд░рд╛рдорд╛рддреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдПрдиреАрдореЗрд╢рди рдХреЛ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдиреБрдХрд╕рд╛рди (рдПрдХ рд╣реА PNG) рдХреЗ рдмрд┐рдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрд▓рдЧ рд╕реЗ RGB рдФрд░ Alpha рдФрд░ рдлрд┐рд░ Image Optimizer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ JPEG рдХреЗ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдЬреЗрдкреАрдЬреА рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЗ рдХрд╛рдо рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╢рдмреНрдж рд╣реИ?), рдЙрд╕ рдЕрдиреБрдХреНрд░рдо рдкрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдЬрд┐рд╕рдореЗрдВ рдЖрд░рдЬреАрдмреА рдкрд░рддреЗрдВ рд╣реИрдВ, рдХреЛ рдкреНрд░рддрд┐рдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рд▓реМрдХрд┐рдХ рдХрд╛рд▓реЗ рдХреЗ рдмрдЬрд╛рдп рдмреНрд░рд╣реНрдорд╛рдВрдбреАрдп рдкреАрд▓реЗ рд╕реЗ рднрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдореЗрдВ рдЬреЗрдкреАрдИрдЬреА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рдЬрди рдЬреЛрдбрд╝реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ:
рджрдмрд╛рд╡ | 10% | 15% | 25% | 50% | 75% | 85% | 90% |
---|
рдЖрд░рдЬреАрдмреА | 139kb | 198KB | 250kb | 425KB | 691KB | 992KB | 1337KB |
рдЕрд▓реНрдлрд╛ | 363KB | 459KB | 524KB | 689KB | 856KB | 1067KB | 1273KB |
рдпреЗ рдЖрдХрд╛рд░ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреЗ рдХрд░реАрдм рд╣реИрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╛рдЗрд▓ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднрд╛рд░реА рд╣реИ, рд╢рд╛рдпрдж рдкреВрд░реЗ рдмрд┐рдВрджреБ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИред рдиреЗрддреНрд░рд╣реАрди, рдЬреЛ рд╕рдм 50% рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдХреБрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ рд╡рд╣ рдИрдВрдЯреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреЛрд╕реЛрдореНрд╕ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рджреЛрд╕реНрддреЛрдВ, рдЕрдЧрд░ рдЖрдкрдХреЗ рдмреАрдЪ рдореЗрдВ рдХреЛрдИ рд╣реИ рдЬреЛ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬреЗрдкреАрдИрдЬреА рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ, рдореИрдВ рдЦрд╝реБрд╢реА рд╕реЗ рд▓реЗрдЦ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рдмреАрдЪ, рд╣рдо 75% рддрдХ рд╕рдВрдХреБрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХреБрд▓ 1547KB рд╣реИ, рдЬреЛ PNG рдХреЗ рд▓рд┐рдП 18.6MB рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдмреЗрд╣рддрд░ (рд╣рд▓реНрдХрд╛) рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП 64MB рднреА рдЕрдзрд┐рдХ рд╣реИред
рдЖрдЧреЗ!
рдЕрдм рдпреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬреЗрдкреАрдИрдЬреА рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдо рдЫрд╡рд┐ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЧреЛрдВрдж рджреЗрдВрдЧреЗред
рдорд╛рд░реНрдХрдЕрдк рд╕рдмрд╕реЗ рдЦрд╛рд▓реА рд╣реЛрдЧрд╛:
рдЕрдВрдХрди<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Canvas Example: Using canvas</title> <link rel="stylesheet" href="css/main.css" type="text/css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <script src="js/main.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ loadRGBA("jpeg_16x16/render_16_16_rgb_75.jpg", "jpeg_16x16/render_16_16_aplha_75.jpg"); }); </script> </head> <body> <div id="star1" class="base64"></div> <div id="star2" class="base64"></div> </body> </html>
рд╕рд╛рде рд╣реА рд╢реИрд▓рд┐рдпреЛрдВ:
рд╢реИрд▓рд┐рдпреЛрдВ * { margin: 0; padding: 0; } html { background: #888 url(../backs/back64dark.png); font-size: 14px; font-family: 'Helvetica', Helvetica, sans-serif; } h1 { font-size: 1.5em; text-align: center; margin: 1em 0; color: #ddd; } #base64{ background: transparent; color: #bbb; width: 256px; height: 265px; margin: 0 auto; }
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд▓реЙрдХ рдореЗрдВ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЧрдарди рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЫрд╡рд┐ рд▓реЛрдбрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рддреЗ рд╣реИрдВред
рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ (js / main.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ):
рд╕рдорд╛рд░реЛрд╣ loadRGBA () function loadRGBA(url_rgb, url_alpha){ var img_rgb = new Image(); var img_alpha = new Image(); var img_count = 0; var img_rgba = ''; img_rgb.src = url_rgb; img_alpha.src = url_alpha; img_rgb.onload = function(){ ++img_count; if(2 == img_count){ img_rgba = compileRGBA(img_rgb, img_alpha); } } img_alpha.onload = function(){ ++img_count; if(2 == img_count){ img_rgba = compileRGBA(img_rgb, img_alpha); } } }
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рджреЛ рдЫрд╡рд┐ рд╡рд╕реНрддреБрдУрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ (рдЕрд░реНрдерд╛рдд рдЬрдм рд╕рдВрдЦреНрдпрд╛ img_count 2 рд╣реИ)ред рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдЗрд╕ рдХреНрд╖рдг рдХреЛ рдПрдХ рдЬрдЧрд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрдиреНрдп ALREADY рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рджреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ) рдмрд┐рд▓реНрдХреБрд▓ 2 рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рд╣рдо рд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдХреЗрд▓реЗ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗред
рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП!
compileRGBA () function compileRGBA(raw_rgb, raw_alpha){ if (!raw_rgb.width || !raw_rgb.height || !raw_alpha.width || !raw_alpha.height){ return; } if (raw_rgb.width !== raw_alpha.width || raw_rgb.height !== raw_alpha.height){ alert(' RGB ') return; } var canvas_rgb = document.createElement("canvas"); var canvas_alpha = document.createElement("canvas"); var canvas_frame = document.createElement("canvas"); if (!canvas_rgb || !canvas_rgb.getContext('2d') || !canvas_alpha || !canvas_alpha.getContext('2d') || !canvas_frame || !canvas_frame.getContext('2d')){ alert('----, ... ---, , '); return; } canvas_rgb.width = raw_rgb.width; canvas_rgb.height = raw_rgb.height; canvas_alpha.width = raw_alpha.width; canvas_alpha.height = raw_alpha.height; canvas_frame.width = 256; canvas_frame.height = 256; var context_rgb = canvas_rgb.getContext('2d'); var context_alpha = canvas_alpha.getContext('2d'); var context_frame = canvas_frame.getContext('2d'); context_rgb.drawImage(raw_rgb, 0, 0); context_alpha.drawImage(raw_alpha, 0, 0); var pix_rgb = context_rgb.getImageData(0, 0, raw_rgb.width, raw_rgb.height); var pix_alpha = context_alpha.getImageData(0, 0, raw_alpha.width, raw_alpha.height); for (var i = 0, n = pix_rgb.width * pix_rgb.height * 4; i < n; i += 4){ pix_rgb.data[i+3] = pix_alpha.data[i]; } context_rgb.putImageData(pix_rgb, 0, 0); var img_arr = []; var frames = []; for(var i=0; i<=15; i++){ for(var j=0; j<=15; j++){ frames[j*16 + i] = context_rgb.getImageData(i*256, j*256, 256, 256); } } var frame = 0; $("#base64").append(canvas_frame); var intFPS = setInterval(function(){ ++frame; if (frame > 255){ frame = 0; } context_frame.putImageData(frames[frame], 0, 0) }, 1000 / 16); }
рдпрд╣рд╛рдВ рднреА, рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ - рдкрд╣рд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдпрд╛рдореЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рд╡реЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рддреАрди рдХреИрдирд╡рд╕ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рд░рдВрдЧ рдХреЗ рд▓рд┐рдП, рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдиреАрдореЗрд╢рди рдХреЗ рд▓рд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ Google рдХреНрд░реЛрдо рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ рдФрд░ IE8 рдореЗрдВ рдПрдХ
рдЯреЗрдВрдЯреНрд░рдо рдерд╛ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдХреЗрд▓рд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐
dasm32 рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ:
"рдпрд╣ рдУрдкреЗрд░рд╛ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" , рд╕рд╛рде рд╣реА рд╕рд╛рдеред
sashagil "IE 10 рдореЗрдВ (рдЬреЛ рдЕрдм рддрдХ рдХреЗрд╡рд▓ Win8 рдореЗрдВ рд╣реИ), рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ" , рд▓реЗрдХрд┐рди
Krovosos рдХреЗ рд▓рд┐рдП "Safari рдиреЗ iPad рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреА" ) рдФрд░ рд╣рдо рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рдЬрд╛рджреВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
var pix_rgb = context_rgb.getImageData(0, 0, raw_rgb.width, raw_rgb.height); var pix_alpha = context_alpha.getImageData(0, 0, raw_alpha.width, raw_alpha.height);
рдЗрди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдо рд░рдВрдЧреАрди рдлрд╝рд╛рдЗрд▓ рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рд╕реЗ RGBA рдкрд░рддреЗрдВ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ 64-рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд░рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдШрдЯрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЧреНрд░реЗ-рдореЛрдб рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 8-10 рдмрд┐рдЯ рд▓реЗрдпрд░, рд▓реЗрдХрд┐рди рд╡рд╣ рд╕реЗрд▓реНрдЬрд╡рд╛ - рдХреИрдирд╡рд╛рд╕ рд╣рдореЗрд╢рд╛ 4 рдмрд╛рдЗрдЯ рдЧрд╣рд░рд╛ рд╣реЛрддрд╛ рд╣реИред рддреАрди рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдЗрдЯ рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ред рдПрдХ рдмрд╛рд░ рдХреИрдирд╡рд╛рд╕ рдкрд░, 32 рдмрд┐рдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдореЛрдиреЛрдХреНрд░реЛрдо рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдлрд╝рд╛рдЗрд▓ "рдЧрд╣рд░рд╛рдИ рдореЗрдВ рддреИрдирд╛рдд рдХреА рдЬрд╛рддреА рд╣реИ" рддрд╛рдХрд┐ рдЖрд░ = рдЬреА = рдмреА рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ = 255 рд╣реЛред
рдЗрди рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рднреА рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдФрд░
pix_rgb.data[i+3] = pix_alpha.data[i]
рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдмрд╛рдЗрдЯ рд╕реЗ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдмрд╛рдЗрдЯ (рдбреЗрдЯрд╛ [i] - рд▓рд╛рд▓, рдбреЗрдЯрд╛ [i + 1] - рд╣рд░рд╛, рдбреЗрдЯрд╛ [i + 2] - рдиреАрд▓рд╛, рдбреЗрдЯрд╛ [i + 3] - рдЕрд▓реНрдлрд╝рд╛) рд▓рд╛рд▓ рдмрд╛рдЗрдЯ рдХреЗ рдорд╛рди рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ
рдЗрд╕ рдХреНрд╖рдг рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢рд╛рд▓ (4096x4096) рдлреБрдЯрдХреНрд▓реЙрде рд╣реИ рдЬрд┐рд╕рдореЗрдВ 256 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреНрд░реЗрдо рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЖрдХрд╛рд░ 256x256 рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИред рдлрд╝реНрд░реЗрдо рдХреЛ 16x16 рдЧреНрд░рд┐рдб рдореЗрдВ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рдФрд░ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рддрдХ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдЗрд╕ рдЧреНрд░рд┐рдб рдХреЛ рдХреИрдирд╡рд╛рд╕ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ Base64 рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдЙрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ DIV рдореЗрдВ рдкреГрд╖реНрдарднреВрдорд┐-рдЫрд╡рд┐ рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдлрд╝реАрдб рдХрд░рдирд╛ рдФрд░ рдлреНрд░реЗрдо рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЯрд╛рдЗрдорд░ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдмрд╕реЗ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред рдкреНрд░рдпреЛрдЧ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рднрдпрд╛рдирдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдореЗрд░рд╛ рдбреНрдпреВрд▓рдХреЛрд░ 2.2GHz 5 рдПрдлрдкреАрдПрд╕ рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЗрди 16x16 рд╕реВрд░рдЬ рдХреЛ рддрдЦреНрддреЗ рдореЗрдВ рдХрд╛рдЯ рджрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ред
var frames = []; for(var i=0; i<=15; i++){ for(var j=0; j<=15; j++){ frames[j*16 + i] = context_rgb.getImageData(i*256, j*256, 256, 256); } }
рддрдм рд╣рдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 16 рдмрд╛рд░ рдЯрд╛рдЗрдорд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рджреЛрдиреЛрдВ рд╕рдВрднрд╡ рд╣реИ) рдФрд░
рд╣рдо рдПрдиреАрдореЗрд╢рди рджреЗрдЦрддреЗ рд╣реИрдВ , рдпрд╛ рд╣рдо
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред
рдЪреЗрддрд╛рд╡рдиреА! Chrome рдмрджрд╕реВрд░рддреА рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ "рдЕрдкрд▓реЛрдб" рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдПрдлрдПрдл рд░рд╣рддрд╛ рд╣реИред
UPD SHVV :
"... рддрд╛рдХрд┐ рдХреНрд░реЛрдо рд▓реЛрдХрд▓ рдлрд╛рдЗрд▓реНрд╕ рдХреЛ рдЦреЛрд▓ рд╕рдХреЗ, рдЗрд╕реЗ --disable-web-security key рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред
"рдпрджрд┐ рдЖрдк рдСрдирд▓рд╛рдЗрди рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб (1.5MB) рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ 5 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЧреНрд▓реЗрдЬрд╝рд┐рдВрдЧ рдлреНрд░реАрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрд╣ рдлреНрд░реАрдЬрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдиреАрдореЗрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ 1% рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реВрд░рдЬ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рджреЗрддрд╛ рд╣реИ "рдпрд╣ рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдЕрдВрддрд░ рдХрд░рддреЗ рд╣реИрдВред"
рд╕реНрдкреЗрд╕ 2.0
рдЗрд╕рдХреЗ рд▓рд┐рдП CSS рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ
рдирдИ рд╢реИрд▓реА .base64{ background: transparent; position: absolute; width: 256px; height: 265px; margin: 0; }
рд╣рдо рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдПрдВрдЧреЗ рддрд╛рдХрд┐ рдмреНрд▓реЙрдХ рдЙрдбрд╝ рд╕рдХреЗред
рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреАред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рджреЛ рд╕реНрдЯрд╛рд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдХреНрд░рдорд╢рдГ рджреЛ DIV, рдФрд░ рджреЛ gluing рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реИрдВ -
рд╕рдВрд╢реЛрдзрди loadRGBA () img_rgb.onload = function(){ ++img_count; if(2 == img_count){ compileRGBA(img_rgb, img_alpha, "star1"); compileGGAA(img_rgb, img_alpha, "star2"); } } img_alpha.onload = function(){ ++img_count; if(2 == img_count){ compileRGBA(img_rgb, img_alpha, "star1"); compileGGAA(img_rgb, img_alpha, "star2"); } }
рдПрдХ рдкрд╣рд▓реЗ (compileRGBA) рдХреЗ рд╕рдорд╛рди рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рд╕рдВрд╢реЛрдзрд┐рдд (compileGGAA) рдпрд╣ рд░рдВрдЧ-рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рдереЛрдбрд╝реЗ рдЕрдзрд┐рдХ рдореБрдХреНрдд рддрд░реАрдХреЗ рд╕реЗ рднрд┐рдиреНрди рд╣реИ:
pix_rgb.data[i] = pix_rgb.data[i+1]; pix_rgb.data[i+2] = pix_rgb.data[i+3] = pix_alpha.data[i];
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓реВрдк рдореЗрдВ, рд▓рд╛рд▓ рдЪреИрдирд▓ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╣рд░реЗ рд░рдВрдЧ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдлрд╛рдЗрд▓ рдХреА рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рд╕реЗ рдиреАрд▓реЗ рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрд╛рд░рд╛ рдиреАрд▓рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдПрдиреАрдореЗрд╢рди рдЯрд╛рдЗрдорд░ рдореЗрдВ рднреА рд╢реБрд░реБрдЖрддреА рдлреНрд░реЗрдо рдХрд╛ рдореВрд▓реНрдп рд╕реМ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рддреИрд░рд╛рдХреА рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рджреВрд╕рд░реЗ, рд╣рдо рдЗрди рддрд╛рд░реЛрдВ рдХреЛ рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд рдХреЗ рд╕рд╛рде 180 рдбрд┐рдЧреНрд░реА рдХреЗ рдЪрд░рдг рдбреЗрд▓реНрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
рдЯрд╛рдЗрдорд░ var intRotate = setInterval(function(){ phase += .01; if (phase >= 6.28319) { phase = .0; } $("#star1.base64").css('top', (doc_h + 50*Math.sin(phase)) + 'px' ); $("#star2.base64").css('top', (doc_h + 50*Math.sin(phase + 3.14159)) + 'px' ); $("#star1.base64").css('left', (doc_w + 100*Math.cos(phase)) + 'px' ); $("#star2.base64").css('left', (doc_w + 100*Math.cos(phase + 3.14159)) + 'px' ); $("#star1.base64").css('z-index', (phase < 3.14159) ? '1001':'1000' ); $("#star2.base64").css('z-index', (phase < 3.14159) ? '1000':'1001' ); }, 1000 / 24);
рддреАрд╕рд░рд╛, рдордзреНрдпрд╡рд░реНрддреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:
рдХрдЪрд░рд╛ рд╣рдЯрд╛рдУ delete pix_rgb; delete pix_alpha; delete context_rgb; delete canvas_rgb; delete context_alpha; delete canvas_alpha;
рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдЗрди рд╡рд┐рд▓реЛрдкрдиреЛрдВ рдореЗрдВ рдХреЛрдИ рд╕рдордЭрджрд╛рд░реА рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХрдо рд╕реЗ рдХрдо рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдиреЗ рдбрд┐рд▓реАрдЯ рдХрд░рдиреЗ рдпрд╛ рдбрд┐рд▓реАрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рджреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЧреНрд░рд╣рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд╛рд░реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред
- рдХреНрдпрд╛ рдореИрдВ рд╕рдмрдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ?
"рд╣рд╛рдБ, рдмрд┐рд▓реНрдХреБрд▓ред"
рдХреНрдпрд╛ рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВрдЧреЗ ?
рд╕рд╛рд░рд╛рдВрд╢
рдпрд╣ рдкреНрд░рдпреЛрдЧ / рдкрд╛рда рдХрд╛ рдЕрдВрдд рд╣реИред рднрд╛рд╡рдирд╛ рджреБрдЧреБрдиреА рд╣реИ: рдПрдХ рддрд░рдл, рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, gluing рдХреЗ рд╕рдордп рдпрд╣ рдЬрдВрдЧрд▓реА рдмреНрд░реЗрдХ рдЬреАрдд рдХреА рдЦреБрд╢реА рдХреЛ рдЦрд░рд╛рдм рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЕрднреА рддрдХ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ, рддреЛ рдореИрдВ рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рд╕реБрдиреВрдВрдЧрд╛ рдФрд░ рд╕рдорд╛рдпреЛрдЬрди рдХрд░реВрдВрдЧрд╛ред
рдзрдиреНрдпрд╡рд╛рдж, рджреЛрд╕реНрддреЛрдВ!
рдкреА рдПрд╕ рдореИрдВ рдХрдо рдмреЗрд░рд╣рдо =) рдХреЗ рд▓рд┐рдП рдЖрдк рдХреЗ рд▓рд┐рдП рдореБрд╕реНрдХреБрд░рд╛рдпрд╛