рдХреИрдирд╡рд╛рд╕ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди


рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛ рдХрд┐ рдХреИрди рдкрд░ рд╣рд╡рд╛рд╕ рдкрд░ рд╕рд╡рд╛рд▓ рдкреВрдЫреЗрдВред рд╣реИрдмрд░рдХрдЯ рдХреЗ рддрд╣рдд - 27 рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдмред


1. рд╣рдореЗрдВ рдХреИрдирд╡рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдпрд╣ рд╕рднреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди рдХреНрдпрд╛ рд╣реИ, рдЖрд╡реЗрджрди рдХрд╛ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░ рдХреНрдпрд╛ рд╣реИ, рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг?


рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдирд╡рд╛рд╕ рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдПрдкреАрдЖрдИ рд╣реИред рдпрд╣ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред IE рдХреЗ рд╡рд┐рд░рд╛рд╕рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ (8 рдФрд░ рдиреАрдЪреЗ)
рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрднреА рднреА рдмрдбрд╝реЗ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореВрд▓ рдЙрджрд╛рд╣рд░рдг рдПрдордбреАрд╕реА рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдПрдХ рд▓рд╛ рдХреНрд░реЛрдо рдкреНрд░рдпреЛрдЧреЛрдВ рдпрд╛ рдЪреМрдЦрдЯреЗ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдмрдХрдирд╡рд╛рд╕

2. рдЖрдкрдХреЛ рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрдм рд╣реИ, рдФрд░ рдлреНрд▓реИрд╢ рдХрдм рд╣реИ?



рдлреНрд▓реИрд╢ рддреЗрдЬрд╝, рдЕрдзрд┐рдХ рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдЕрдЪреНрдЫреЗ рдЯреВрд▓ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╣реИред
рдХреИрдирд╡рд╕ рдЕрдм рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрддреНрд╕рд╛рд╣реА рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлреНрд▓реИрд╢рд░реНрд╕ рдХреЗ рдмрд╛рдЬрд╛рд░ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди Google, рдореЛрдЬрд╝рд┐рд▓рд╛, рдРрдкреНрдкрд▓, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЬреИрд╕реЗ рдмрдбрд╝реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреИрдирд╡рд╕ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА рдХреИрдирд╡рд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдФрд░ рддреЗрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдорд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдирдП рдЖрддреЗ рд╣реИрдВред рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 2.0 рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4.0 рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рддреАрди рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдорд╛рдг рдХреЗ рдПрдХ рдХреНрд░рдо рд╕реЗ рдЧрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рдФрд░ рдЪреМрдереЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рдЫрд▓рд╛рдВрдЧ рдареАрдХ рд╣реЛ рдЧрдИред рдЗрд╕реА рддрд░рд╣ - рдУрдкреЗрд░рд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдХреНрд░реЛрдо рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ 12 рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдФрд░ рдХреИрдирд╡рд╕ рдХрд╛ рднрд╡рд┐рд╖реНрдп рдЙрдЬреНрдЬреНрд╡рд▓ рд╣реИред

3. рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдФрд░ рдПрд╕рд╡реАрдЬреА рдХреЛ рдХрдм рдХрд░рдирд╛ рд╣реИ?


рдпрд╣ рдПрдХ рд╣реЙрд▓реАрд╡реБрдб рд╡рд┐рд╖рдп рд╣реИред рдЙрд╕ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВред
рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдкрдврд╝реЗрдВ: habrahabr.ru/blogs/javascript/114129/#comment_3678242
рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦреЗрдВ:

" рдХреИрдирд╡рд╛рд╕ рдФрд░ рдПрд╕рд╡реАрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ " рд▓реЗрдЦ рдкрдврд╝реЗрдВ

рдПрдХ рддрд░рдл, рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрд╕рд╡реАрдЬреА рдореЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд╛рдЧреВ рд╣реИ, рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рджреВрд╕рд░реА рдУрд░, рдХреИрдирд╡рд╕ рдореЗрдВ, рдЖрдк рдПрд╕рд╡реАрдЬреА рдореЗрдВ рдЕрд╕рдВрднрд╡ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдХреВрд▓рди рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреИрд╢ рд╕реЗ рд░реЗрдВрдбрд░рд┐рдВрдЧред

рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдкрд░, рдПрд╕рд╡реАрдЬреА рдФрд░ рдХреИрдирд╡рд╕ рдХреЗ рдмрдЬрд╛рдп рд╕реАрдПрд╕рдПрд╕ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдпрд╣ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

4. рдХреНрдпрд╛ рд╕рд╛рд╣рд┐рддреНрдп рдкрдврд╝рдирд╛ рд╣реИ?


рдореИрдВ рдореЛрдЬрд╝рд┐рд▓рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рдХреИрдирд╡рд╕ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдЖрдУ рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдПрдкреАрдЖрдИ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдореБрдЦреНрдп рдЪреАрдЬ рдЕрдиреБрднрд╡ рд╣реИред

рдУ'рд░реЗрд▓реА рдореАрдбрд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рддрд╛рдЬрд╛ рдкреБрд╕реНрддрдХ " рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдХреИрдирд╡рд╕ " рд╣реИред рдореИрдВрдиреЗ рдкрдврд╝рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдУ'рд░рд┐рд▓реА рдЖрдорддреМрд░ рдкрд░ рд╢рд╛рдВрдд рдХрд┐рддрд╛рдмреЗрдВ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВред


5. рдХреИрдирд╡рд╕ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреИрд╕реЗ рд▓реЗрдВ?


рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХреИрдирд╡рд╛рд╕ 2image рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рджреЛрдиреЛрдВ рдкрд░ рдХреИрдирд╡рд╕ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ ,DataURL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдЪрдд рдХреА рдЬрд╛рддреА рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░, рд╕рд╛рдордЧреНрд░реА getImageData рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдзрд╛рд░ 64 рдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ POST рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░, рдпрд╣ рдЗрд╕ рдХреЛрдб рдХреА рддрд░рд╣ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:

if (empty($_POST['data'])) exit; $data = $_POST['data']; $name = md5($data); $file = "$path/$name.png"; if (!file_exists($file)) { $image = str_replace(" ", "+", $data); $image = substr($image, strpos($image, ",")); file_put_contents($file, base64_decode($image)); } echo $file; 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрддреНрддрд░ azproduction рд╕реЗ рд╣реИ
рдпрджрд┐ "рдХреИрдирд╡рд╕ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ === рдПрдХ рдЪрд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рд╕рд╣реЗрдЬреЗрдВ", рддреЛ:

 /*  */ canvas.getAsFile("test.jpg", "image/jpeg"); // File https://developer.mozilla.org/en/DOM/File /*  */ canvas.toDataURL(); // String  data url /*  */ function test() { var canvas = document.getElementById("canvas"); var f = canvas.mozGetAsFile("test.png"); var newImg = document.createElement("img"); newImg.src = f.toDataURL(); document.body.appendChild(newImg); } 

рдЖрджрд░

рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рдХреИрдирд╡рд╛рд╕ рдЖрдХрд╛рд░ (рдЪреМрдбрд╝рд╛рдИ / рдКрдВрдЪрд╛рдИ рдпрд╛ рд╢реИрд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЛ рдЯреЙрдбрдЯреВрд░рд▓ рд╕реЗ рдЦрд░рд╛рдм рдбреЗрдЯрд╛ рдорд┐рд▓реЗрдЧрд╛


6. рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ (рдПрдлрдкреАрдПрд╕ рдмрдврд╝рд╛рдиреЗ) рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред


рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рдореИрдВрдиреЗ рдЙрдирдореЗрдВ рд╕реЗ рддреАрди рдХрд╛ рд╡рд░реНрдгрди рд▓рд┐рдмреНрдХрдирд╡реНрд╕ рдкрд░ рдкрд╛рдпрдирд╛рд╢реНрд╕реНрдХреА рд╡рд┐рд╖рдп рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИ ред рдпрд╣ рд╣реИ:
* рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреИрдирд╡рд╛рд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
* рдкреВрд░реЗ рдХреИрдирд╡рд╛рд╕ рдХреЛ рд▓рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЗрд╡рд▓ рдмрджрд▓реЗ рд╣реБрдП рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВ
* рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдмрдлрд╝рд░ рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ (рдЬреЛ рдЖрдкрдХреЛ рдкрд┐рдХреНрд╕рд▓реНрд╕ рдХреЗ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд░ рдлреНрд░реЗрдо рдХреЛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЦреАрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдордЯрди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)
рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдЖрдкрдХреА рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧрд╛ред

7. рд╡реАрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


рдПрдЬрд╝рдкреНрд░реЛрдбрдХреНрд╢рди :
рдпрджрд┐ рдЖрдк рдХреИрдорд░реЗ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ:
рдПрдкреАрдЖрдИ рдХреЗрд╡рд▓ рдореАрдбрд┐рдпрд╛ рдХреИрдкреНрдЪрд░ рдПрдкреАрдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдорд╕реМрджреЗ рдореЗрдВ рд╣реИ; рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдирд┐рдХрдЯрддрдо рд░рд┐рд▓реАрдЬ рдлреЛрдирдЧреИрдк рдореЗрдВ рд╕рдВрднрд╡ рд╣реИ - рдпрд╣ рдЯреНрд░рдВрдХ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛрдЧрд╛ред рд╣реИрдВрдбрд▓рд░ рдХреЛ "рдбрд┐рд╡рд╛рдЗрд╕" рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдпреВрд░реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 function success(data) { var container = document.createElement("div"); for (var i in data) { var img = document.createElement("img"); img.src = data[i].url; container.appendChild(img); } document.body.appendChild(container); } function error(err) { if (err.code === err.CAPTURE_INTERNAL_ERR) { alert("The capture failed due to an internal error."); } else { alert("Other error occured."); } } navigator.device.capture.captureImage(success, error, { limit: 1 }); 



8. рдХреИрдирд╡рд╕ (рд╡реЗрдмрд▓реЙрдЧ рдХреЗ рдмрд┐рдирд╛) рдкрд░ рдПрдХ рдордирдорд╛рдирд╛ рдЫрд╡рд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдордп рдкрд┐рдХреНрд╕реЗрд▓-рдмрд╛рдп-рдкрд┐рдХреНрд╕реЗрд▓ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрд░реЛ / рдлреЛрдВрдЧ рдЫрд╛рдпрд╛рдВрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 3 рдбреА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдЪреЗрд╣рд░реЗ рдХрд╛ рдореИрдиреБрдЕрд▓ рдбреНрд░рд╛рдЗрдВрдЧред


рджреЛ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ:
habrahabr.ru/blogs/crazydev/93594
habrahabr.ru/blogs/crazydev/94519

рдкрд┐рдХреНрд╕реЗрд▓-рдмрд╛рдп-рдкрд┐рдХреНрд╕реЗрд▓ рдкрд╣реБрдБрдЪ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реИ - getImageData рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

9. рдХреНрдпрд╛ рд╕реНрдХреНрд░реАрди рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЗрдирд╕рд╛рдЗрдб рдХреЗ рд╕рд╛рде рдХреИрдирд╡рд╕ рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдФрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ?


рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦреЗрдВред рдХреИрдирд╡рд╛рд╕ {рдЪреМрдбрд╝рд╛рдИ: 100%; рдКрдВрдЪрд╛рдИ: 100%; }ред рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред рд▓реЗрдХрд┐рди рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред

10. Android / iOS рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╕рдорд░реНрдерди рдФрд░ рдкреНрд░рджрд░реНрд╢рди


рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИред рд╕рдЪ рд╣реИ, рдореИрдВрдиреЗ iPhone 2 рдкрд░ рдЕрд╕рдорд░реНрдерд┐рдд рднрд░рдг рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╣реИред
рдкреНрд░рджрд░реНрд╢рди рдЬрд╛рд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореЛрдмрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП, CSS3 рдмреЗрд╣рддрд░ рд╣реИред рд╢рд╛рдпрдж рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдХреБрдЫ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред

11. рдПрдХ рдмрд┐рдВрджреБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧреНрд░рд╛рдл рдХреЗ рд▓рд┐рдП) рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХреЗ рд╕реЗ рд░реБрдЪрд┐ред рдПрдХрд▓-рдкрд┐рдХреНрд╕реЗрд▓ рдФрд░ рдЪрд╛рд░-рдкрд┐рдХреНрд╕реЗрд▓, рдордирдорд╛рдирд╛ рд░рдВрдЧред


рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдПрдХрд▓ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдФрд░ getImageData + putImageData рдХреЗ рд▓рд┐рдП рдмрд▓реНрдХ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП fillRect рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

12. "рд╡рд┐рд╢реНрд╡" рдХреЛ рдХрд┐рд╕ рд░реВрдк рдореЗрдВ рдПрдХ рд╕рд╛рдЗрдб рд╡реНрдпреВ (рдЬреИрд╕реЗ playbiolab.com) рдХреЗ рд╕рд╛рде рдЧреЗрдореНрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд, рдкреНрд░рджрд░реНрд╢рд┐рдд рдФрд░ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЦрд┐рд▓рд╛рдбрд╝реА рджрд╛рдИрдВ рдУрд░ рднрд╛рдЧ рдЧрдпрд╛, рдХреИрдорд░рд╛ рдЙрд╕рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рджреБрдирд┐рдпрд╛ "рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд" рд╣реЛ рдЧрдИ


рдореБрдЭреЗ рдареАрдХ рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдмреЙрдпреЛрд▓реЗрдм рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдЖрдк рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░ рдХрдИ рдХреИрдирд╡рд╛рд╕ рдкрд░рддреЛрдВ рдХреЛ рдУрд╡рд░рд▓реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рдЪрд▓реА рджреБрдирд┐рдпрд╛ рдкрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рднрд╛рдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

13. 3 рдбреА-рдХреИрдирд╡рд╛рд╕


рддреАрди.js - 3 рдбреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди

14. рд╕рдВрдкрд╛рджрдХ - рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реИ?


рдХреЛрдИ рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдкрд╛рджрдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдореИрдВ рдиреЗрдЯрдмреАрдиреНрд╕ 7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛, рдЕрдм рдореИрдВрдиреЗ рдЬреЗрдЯрдмреНрд░реЗрдиреНрд╕ рд╡реЗрдмрдЖрдИрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛

15. рдбреЗрдЯрд╛рдмреЗрд╕


рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЖрдзреБрдирд┐рдХ рдорд╛рдирдХ рд╣реИрдВ - рд╡реЗрдмрд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕рдбреАрдбреАрдмреА ред
IndexedDB рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рд╛рдВрдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЗрд╕реЗ рд╣реИрдмрд░ рдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡реЗрдмрд╕реНрдЯреЛрд░реЗрдЬ рдПрдХ рд╕рд░рд▓ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рднрдВрдбрд╛рд░рдг рд╣реИ

16. рдХреИрдирд╡рд╕ рдФрд░ рдЖрдИрдИ


IE рдореЗрдВ, рдиреМрд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рд╕рдорд░реНрдерд┐рдд рдмрдирд╛рдиреЗ рдХреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдмрд╣реБрдд рд╣реА рд╕реАрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реЗрдВрд╕ рдХреЛ рдЧрддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
IMHO, рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк Google Chrome рдлрд╝реНрд░реЗрдо рд╣реИ , рдПрдХ рдкреНрд▓рдЧрдЗрди рдЬреЛ рдлрд╝реНрд▓реИрд╢ рдпрд╛ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдЬреИрд╕реЗ рдЖрдзреЗ-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╕реНрд╡реАрдЯреА рдХреЛ рдПрдХ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

17. рддреИрдпрд╛рд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдХреНрдпрд╛ рдХреЛрдИ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ


рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдкрд╛рдЗрдерд╛рдЧреЛрд░рд╕ рдкреНрд░рдореЗрдп рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд╣рд▓рдХреЛрдВ рдХреЗ рдмреАрдЪ - рд╣рдо рд░реЗрдбрд┐рдП рдХреЛ рдШрдЯрд╛рдирд╛ рд╕реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдкрдиреЗ рдХрд╛рдиреВрди рд╣реИрдВред
рдХреБрдЫ (рдХрдо рд╕реЗ рдХрдо рдЖрдпрддреЛрдВ / рд╣рд▓рдХреЛрдВ / рдмрд╣реБрднреБрдЬ рдХреЛ рдХрд╛рдЯрдирд╛) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА LibCanvas рдореЗрдВ рд╣реИ ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ:
рдлреНрд▓реИрд╢ рдореЗрдВ рдЙрдирд╕реЗ рдЯрдХрд░рд╛рд╡ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдоред

18. рдХреИрдирд╡рд╕ рдкрд░ рдПрдирд┐рдореЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдФрд░ рдХрд┐рд╕ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ?


рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рд╖рдп " рдПрдиреАрдореЗрд╢рди рдФрд░ рдХреИрдирд╡рд╕ " рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ LibCanvas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА ред

19. рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдкрд╛рда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ (рдПрдиреАрдореЗрд╢рди рд╕рд╣рд┐рдд)


рдкрд╛рда рдХреЛ fillText / stroText рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╕реНрдЯрдо рдлреЛрдВрдЯ CSS3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдпрд╣ рд╕рднреА рдирд┐рдпрдореЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ - рдЬреИрд╕реЗ рдХрд┐ рдЫрд╛рдпрд╛, рдкрд░рд┐рд╡рд░реНрддрди, рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрджрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдВрдзреЗрд░реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдПрдХ рд╣рд▓реНрдХреА рдЫрд╛рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдЪрдордХрджрд╛рд░ рдкрд╛рда рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ

20. рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред


рдПрдордбреАрд╕реА рдкрд░ рд╡рд░реНрдгрд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред

21. рдмреИрдХ рдмрдлрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ рдХреИрдирд╡рд╕ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред


рдЖрдк рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рдХреИрдирд╡рд╕ рдореЗрдВ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рддрдм рдЪрд┐рддреНрд░ рдХреА рддрд░рд╣ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рджреЗрдЦреЗрдВ)ред
рдмрдлрд░рд┐рдВрдЧ рдЖрдкрдХреЛ рдХрдИ рдмрд╛рд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрдлрд╝рд░ рд╕реЗ рдПрдХ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХреЛ рдбреНрд░реЙ рдХрд░рдирд╛ рд╕реАрдзреЗ рдЙрд╕реА рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХреЛ рдбреНрд░реЙ рдХрд░рдиреЗ рд╕реЗ 5 рдЧреБрдирд╛ рддреЗрдЬрд╝ рд╣реИ ред
рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
 //    : var buffer = document.createElement('canvas'); buffer.width = 64; buffer.height = 32; buffer.ctx = buffer.getContext('2d'); //    LibCanvas: var buffer = LibCanvas.Buffer(64, 32, true); //      buffer.ctx.fillRect(/* */) //     : var ctx = canvas.getContext('2d'); ctx.drawImage( buffer, 0, 0 ); 


22. рдХреИрдирд╡рд╕ рдореЗрдВ рдПрдирд┐рдореЗрд╢рди рдлреБрд▓ рд░рд┐рдбрд░реНрд╡ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЗрдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣рд░ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ, рдпрд╛ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдФрд░ рдкрд░рддреЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?


рд╣рд╛рдБ, рд╡рд┐рднрд┐рдиреНрди рдЪрд╛рд▓реЗрдВ рд╣реИрдВред рдЖрдк рджрд░реНрдЬрдиреЛрдВ рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рди рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдлрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХреИрдирд╡рд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдмрд╛рд░ рдпрд╣ рд╕рд╕реНрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рд╕рдордЭ рд▓реЗрдВ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

23. рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА 3D рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдирд╡рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП (рдЕрдзрд┐рдорд╛рдирддрдГ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП) рдФрд░ рдЗрд╕реЗ рдШреБрдорд╛рдПрдВ?


рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдкреНрд░рдпреЛрдЧ: рдПрдХ рдШреВрд░реНрдгрди рдареЛрд╕ рдШрди

24. рдХреИрдирд╡рд╕ рдореЗрдВ рдПрд╕рд╡реАрдЬреА рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди


рдпрд╣ CanVG рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИред рд▓рдЧрднрдЧ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ)

25. рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рдорд░реНрдерди рдХрд┐рддрдирд╛ рдЕрд▓рдЧ рд╣реИ рдпрд╛ рд╣рд░ рдХреЛрдИ рдорд╛рдирдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ?


рдЕрдВрддрд░ рдиреНрдпреВрдирддрдо рд╣реИрдВред рдорд╛рдореВрд▓реА рдХреАрдбрд╝реЗ, рдорд╛рдореВрд▓реА рдЕрд╕рдВрдЧрддрддрд╛рдПрдВ рдереАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкреЗрд░рд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдпрдд рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ:
 ctx.fillRect(50, 50, -20, -20); 

рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдФрд░ рдШреБрдорд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд░реЛрдо рдореЗрдВ, рдХреЛрдиреЛрдВ рдкрд░ рдореБрдбрд╝рддреЗ рд╕рдордп, рджрд╛рдВрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрддреЗ рд╣реИрдВ (рдХреЛрдИ рдЪреМрд░рд╕рд╛рдИ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)

рд▓реЗрдХрд┐рди рдпрд╣ рдПрдлрдПрдХреНрд╕ рдФрд░ рдУрдкреЗрд░рд╛ рдХреА рддрд╕реНрд╡реАрд░реЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ:


рдЕрднреА рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдорд╛рдореВрд▓реА рдЕрдВрддрд░ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдЕрд╕реНрдерд┐рд░ рдЫрдБрдЯрд╛рдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЗрдб-рдЗрдВрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реА рдЬреЗрдб-рдЗрдВрдбреЗрдХреНрд╕ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЛ рд╕реНрд╡реИрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпреЗ рдмрд╣реБрдд рдЫреЛрдЯреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд┐рддреНрд░рд╡рдд рд░реВрдкрд░реЗрдЦрд╛ рдПрдкреАрдЖрдИ рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдкреЗ рд╣реЛрддреЗ рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рджреВрд╕рд░реЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

26. putImageData рдмрдирд╛рдо drawImage


рдореИрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реВрдБ - putImageData рдмрд╣реБрдд рдзреАрдореА рд╣реИ ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪрд┐рддреНрд░ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рдзреАрдорд╛рдкрди рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред

27. рдореБрдЭреЗ рдХреИрдирд╡рд╛рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА, рдЬреИрд╕реЗ: рдкрд░рддреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛, рд╕рдХреНрд░рд┐рдп рддрддреНрд╡ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ (рдЬрд┐рд╕ рдкрд░ рдХрд░реНрд╕рд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ), рдПрдХ рдЗрд╡реЗрдВрдЯ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдирд╛, рдЖрджрд┐ред


рдпрд╣ рд╕рд╡рд╛рд▓ рдореБрдЭрд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рд▓рд┐рдП - рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп )

рдЕрдиреБрддреНрддрд░рд┐рдд рдкреНрд░рд╢реНрди


рджреЛрд╕реНрддреЛрдВ, рдЬреЛ рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВ - рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ

1. IE (IE8- + excanvas.js) рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдкрд╛рда рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП? рдореИрдВрдиреЗ Google рдХреЛрдб рд╕реЗ text.canvas.js рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдпрд╣ рдХреБрдЫ рдЧреНрд▓рд┐рдлрд╝ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореИрдВ IE рдореЗрдВ рдЕрдиреБрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ

2. рдХреНрдпрд╛ рдХреЛрдИ рдЧреБрдкреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ рдЬреЛ рдЪрд░ рдореЛрдЯрд╛рдИ рдХреА рд░реЗрдЦрд╛рдПрдБ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ? рд╕реАрдзреА рд░реЗрдЦрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ "рдмреИрд╕рд╛рдЦреА" рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреЗрдЬрд┐рдпрд░ рдШрдЯрддрд╛ рдХреЗрд╡рд▓ рдПрдХ рдХрдо рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрддрд░ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВред

3. рдХреНрдпрд╛ рдХреЛрдИ рдЧреБрдкреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ рдЬреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдврд╛рд▓ рд░рдВрдЧ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЦреИрд░, рд╡рд╣ рд╣реИ, рддрд╛рдХрд┐ рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд░рдВрдЧ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓ рдЬрд╛рдП, рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╕реАрдзреЗред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, OpenGL рдореЗрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


рдпрджрд┐ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ - рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВ, рд╣рдо рдкреВрд░рдХ рдХрд░реЗрдВрдЧреЗ) рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрдЫрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ - рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкреВрдЫреЗрдВред рдЕрдЧрд░ рдХреЛрдИ reg рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдк рдореБрдЭреЗ shocksilien@gmail.com рдкрд░ рдПрдХ рдИрдореЗрд▓ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рд╖рдп рдкреНрд░рд╛рд░реВрдк рдкрд╕рдВрдж рд╣реИ?

Source: https://habr.com/ru/post/In119772/


All Articles