рдкреНрд░рдЧрддрд┐ рд╕рдВрдХреЗрддрдХ HTML5 рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!

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



рдЕрдзреАрд░ рдкреНрд░рдпреЛрдЧ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ: http://pastehtml.com/view/1d7z824.html , рд╕рд╛рде рд╣реА рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ:





рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ рдХрд╛рдлреА рд╕рд░рд▓ рдирд┐рдХрд▓рд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╡реЗрдм 2.0 рд╢реИрд▓реА рдореЗрдВ - рдЧреЛрд▓ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ!), рдЧрд╣рд░рд╛рдИ рдФрд░ рдорд╛рддреНрд░рд╛ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде: рдЕрд░реНрдерд╛рддреН, рдЫрд╛рдпрд╛ рдФрд░ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯред



рдореИрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг рдорд╛рдВрдЧрддрд╛ рд╣реВрдВред



рдЙрдкрдЬрд╛рдК



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



function roundRect(ctx, x, y, width, height, radius) { ctx.beginPath(); ctx.moveTo(x + radius, y); ctx.lineTo(x + width - radius, y); ctx.arc(x+width-radius, y+radius, radius, -Math.PI/2, Math.PI/2, false); ctx.lineTo(x + radius, y + height); ctx.arc(x+radius, y+radius, radius, Math.PI/2, 3*Math.PI/2, false); ctx.closePath(); ctx.fill(); }
      
      







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



 function progressLayerRect(ctx, x, y, width, height, radius) { ctx.save(); //   ctx.shadowOffsetX = 2; ctx.shadowOffsetY = 2; ctx.shadowBlur = 5; ctx.shadowColor = '#666'; //    ctx.fillStyle = 'rgba(189,189,189,1)'; roundRect(ctx, x, y, width, height, radius); //     //   ctx.shadowColor = 'rgba(0,0,0,0)'; var lingrad = ctx.createLinearGradient(0,y+height,0,0); lingrad.addColorStop(0, 'rgba(255,255,255, 0.1)'); lingrad.addColorStop(0.4, 'rgba(255,255,255, 0.7)'); lingrad.addColorStop(1, 'rgba(255,255,255,0.4)'); ctx.fillStyle = lingrad; roundRect(ctx, x, y, width, height, radius); ctx.restore(); }
      
      







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



рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:



рдкреНрд░рдЧрддрд┐ рд╕реВрдЪрдХ



рдЕрдм рдПрдХ рдкреНрд░рдЧрддрд┐-рднрд░рдиреЗ рднрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

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





рд╕рд╛рде рд╣реА, рдЗрд╕реЗ рд╡реЙрд▓реНрдпреВрдо рдкреНрд░рднрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдЧрддрд┐ рдХреЗ рджрд╛рд╣рд┐рдиреЗ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдПрдХ рдЫрд╛рдпрд╛ рдЬреЛрдбрд╝реЗрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдЧрддрд┐ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:



 function progressBarRect(ctx, x, y, width, height, radius, max) { //     var offset = 0; ctx.beginPath(); if (width<radius) { offset = radius - Math.sqrt(Math.pow(radius,2)-Math.pow((radius-width),2)); //   var left_angle = Math.acos((radius - width) / radius); ctx.moveTo(x + width, y+offset); ctx.lineTo(x + width, y+height-offset); ctx.arc(x + radius, y + radius, radius, Math.PI - left_angle, Math.PI + left_angle, false); } else if (width+radius>max) { offset = radius - Math.sqrt(Math.pow(radius,2)-Math.pow((radius - (max-width)),2)); //   var right_angle = Math.acos((radius - (max-width)) / radius); ctx.moveTo(x + radius, y); ctx.lineTo(x + width, y); ctx.arc(x+max-radius, y + radius, radius, -Math.PI/2, -right_angle, false); ctx.lineTo(x + width, y+height-offset); ctx.arc(x+max-radius, y + radius, radius, right_angle, Math.PI/2, false); ctx.lineTo(x + radius, y + height); ctx.arc(x+radius, y+radius, radius, Math.PI/2, 3*Math.PI/2, false); } else { ctx.moveTo(x + radius, y); ctx.lineTo(x + width, y); ctx.lineTo(x + width, y + height); ctx.lineTo(x + radius, y + height); ctx.arc(x+radius, y+radius, radius, Math.PI/2, 3*Math.PI/2, false); } ctx.closePath(); ctx.fill(); //   if (width<max-1) { ctx.save(); ctx.shadowOffsetX = 1; ctx.shadowBlur = 1; ctx.shadowColor = '#666'; if (width+radius>max) offset = offset+1; ctx.fillRect(x+width,y+offset,1,total_height-offset*2); ctx.restore(); } }
      
      







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



рдкреНрд░рдЧрддрд┐ рдкрд╛рда



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



 function progressText(ctx, x, y, width, height, radius, max) { ctx.save(); ctx.fillStyle = 'white'; var text = Math.floor(width/max*100)+"%"; var text_width = ctx.measureText(text).width; var text_x = x+width-text_width-radius/2; if (width<=radius+text_width) { text_x = x+radius/2; } ctx.fillText(text, text_x, y+22); ctx.restore(); }
      
      







рдкреНрд░рдЧрддрд┐ рдХрд╛ рдкреВрд░реНрдг рд╕реВрдЪрдХ



рдЕрдм рдпрд╣ рд╕рднреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдПрдХ рдПрдиреАрдореЗрд╢рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдЬреЛ 0 рд╕реЗ 100% рддрдХ рдкреНрд░рдЧрддрд┐ рдХреЛ рднрд░рддрд╛ рд╣реИред рдПрдиреАрдореЗрд╢рди рдХреЗ рд▓рд┐рдП, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯрдЗрдВрдЯрд░рд╡рд▓ () рдФрд░ рдХреНрд▓рд┐рдпрд░рдЗрдВрдЯрд░рд╡рд▓ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ :



 //      var i = 0; var res = 0; var context = null; var total_width = 300; var total_height = 34; var initial_x = 20; var initial_y = 20; var radius = total_height/2; window.onload = function() { //   canvas var elem = document.getElementById('myCanvas'); //   canvas  if (!elem || !elem.getContext) { return; } context = elem.getContext('2d'); if (!context) { return; } //    context.font = "16px Verdana"; //    var progress_lingrad = context.createLinearGradient(0,initial_y+total_height,0,0); progress_lingrad.addColorStop(0, '#4DA4F3'); progress_lingrad.addColorStop(0.4, '#ADD9FF'); progress_lingrad.addColorStop(1, '#9ED1FF'); context.fillStyle = progress_lingrad; //   res = setInterval(draw, 50); } function draw() { //    1    i+=1; //    context.clearRect(initial_x-5,initial_y-5,total_width+15,total_height+15); progressLayerRect(context, initial_x, initial_y, total_width, total_height, radius); progressBarRect(context, initial_x, initial_y, i, total_height, radius, total_width); progressText(context, initial_x, initial_y, i, total_height, radius, total_width ); //     100% if (i>=total_width) { clearInterval(res); } }
      
      







рдпрд╣ рд╕рдм рд╣реИ, рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ <script> рдЯреИрдЧ рдореЗрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝рдиреЗ рдХреЗ <body> рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ:



 <canvas id="myCanvas" width="500" height="150">Your browser does not have support for canvas.</canvas>
      
      







рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд▓рд┐рдВрдХ: http://pastehtml.com/view/1d7z824.html



рдЗрдирд╕реЗрдЯ рд╢реИрдбреЛ



рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрдирд╕реЗрдЯ рдЫрд╛рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ рдХреА рдПрдХ рдЕрд▓рдЧ рд╢реИрд▓реА рддреИрдпрд╛рд░ рдХреА, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ рдЕрдВрджрд░ рдХреА рдУрд░ рджрдмрд╛рдпрд╛ рд╣реБрдЖ рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░: http://weblog.bocoup.com/can-i-draw-an-inset-shadow-with-the-html5-canvas-api



рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдЗрдирд╕реЗрдЯ рдЫрд╛рдпрд╛ рдХреЛ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐ рдХрд╛ рд╕рд╛рд░ "рдУрдкреЛрд╕рд┐рдЯ рд╡рд╛рдЗрдВрдбрд┐рдВрдЧ" рдирд╛рдордХ рдПрдХ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХреИрдирд╡рд╛рд╕ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред



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

рдЗрдирд╕реЗрдЯ рд╢реИрдбреЛ рдЗрдлрд╝реЗрдХреНрдЯ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рд░рд╛рдЙрдВрдб рдЗрдирд╕реЗрдЯ Rect () рдлрдВрдХреНрд╢рди рдмрдирд╛рдПрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░реЗрд╕рд▓реЗрдпрд░ рд░реЗрдХреНрдЯ () рдлрдВрдХреНрд╢рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:





 function roundInsetRect(ctx, x, y, width, height, radius) { ctx.beginPath(); //       ctx.moveTo(1000, 1000); ctx.lineTo(1000, -1000); ctx.lineTo(-1000, -1000); ctx.lineTo(-1000, 1000); ctx.lineTo(1000, 1000); ctx.moveTo(x + radius, y); ctx.lineTo(x + width - radius, y); ctx.arc(x+width-radius, y+radius, radius, -Math.PI/2, Math.PI/2, false); ctx.lineTo(x + radius, y + height); ctx.arc(x+radius, y+radius, radius, Math.PI/2, 3*Math.PI/2, false); ctx.closePath(); ctx.fill(); } function progressLayerRect(ctx, x, y, width, height, radius) { ctx.save(); //   ctx.shadowOffsetX = 2; ctx.shadowOffsetY = 2; ctx.shadowBlur = 5; ctx.shadowColor = '#666'; //    ctx.fillStyle = 'rgba(189,189,189,1)'; roundRect(ctx, x, y, width, height, radius); ctx.fillStyle = 'white'; roundInsetRect(ctx, x, y, width, height, radius); ctx.restore(); }
      
      







рдпрд╣ рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ рдпрд╣ рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: http://pastehtml.com/view/1d80e6t.html



рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ / рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рдПрдХ рдмрд╛рд░ рд╕реБрдиреВрдВрдЧрд╛, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред



All Articles