
рд╢реБрдн рджрд┐рди, рдкреНрд░рд┐рдп рд╣рд░рдЬрд┐рддрд╛рд▓реАред рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде GitHub -
SVG.js рдкрд░ рдПрдХ рдЕрджреНрднреБрдд рдЦреЛрдЬ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛
рд╣реВрдВ - рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЗрд░рдлреЗрд░ рдФрд░ SVG рдХрд╛ рдПрдиреАрдореЗрд╢рди ред рдореИрдВ рдЙрди рддреАрди рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдореЗрд░рд╛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд░реЗрдЯрд┐рдирд╛ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде рдПрд╕рд╡реАрдЬреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рд╣реИред SVG.min.js рдХрд╛ рд╡рдЬрд╝рди 34kb рдФрд░ Gzip рдореЗрдВ 9kb рд╣реИ, рдЬреЛ рдХрд┐ Rapha├лl рд╕реЗ рдХрдИ рдЧреБрдирд╛ рдЫреЛрдЯрд╛ рд╣реИ
рдФрд░ рдЬрд┐рд╕реЗ рдЖрдк рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред 3kb рдорд┐рдирд┐рдорд▓ SVG.filter.js
рд╡реЗрдмрдХрд┐рдЯ-рдлрд╝рд┐рд▓реНрдЯрд░ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдирд╛рд▓реЙрдЧ рд╣реИред
рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕:
var draw = SVG('canvas').size(300, 300) var rect = draw.rect(100, 100).attr({ fill: '#f06' }); rect.animate().move(150, 150); rect.animate({ ease: '<', delay: 1500 }).attr({ fill: '#f03' });
рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛:
- рдЖрдХрд╛рд░, рд╕реНрдерд┐рддрд┐, рдкрд░рд┐рд╡рд░реНрддрди (рдЕрдиреБрд╡рд╛рдж, рд░реЛрдЯреЗрд╢рди, рддрд┐рд░рдЫрд╛, рд╕реНрдХреЗрд▓, рдореИрдЯреНрд░рд┐рдХреНрд╕), рд░рдВрдЧреЛрдВ рдХрд╛ рдПрдиреАрдореЗрд╢рди
- рддрддреНрд╡реЛрдВ рдХреА рдорд╛рд╕реНрдХрд┐рдВрдЧ рдФрд░ рдХреНрд▓рд┐рдкрд┐рдВрдЧ (рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕рдорд╛рди рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ )
рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрд░рдЪрдирд╛, рд╡рд┐рд╕реНрддрд╛рд░ рд▓реЗрдЦрди рдореЗрдВ рдЖрд╕рд╛рдиреА SVG.extend(SVG.Shape, { paintRed: function() { return this.fill({ color: 'red' }) } }) SVG.extend(SVG.Ellipse, { paintRed: function() { return this.fill({ color: 'orangered' }) } })
- рдкрд╛рда рдкрде (рдПрдиреАрдореЗрд╢рди рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде)
- рдЖрдЗрдЯрдо рд╕рдореВрд╣реАрдХрд░рдг
- рдЧрддрд┐рд╢реАрд▓ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ
- рдШрдЯрдирд╛рдУрдВ
- рд╕реНрдкрд╖реНрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬ
рдореМрдЬреВрджрд╛ рдкреНрд▓рдЧрдЗрдиреНрд╕
- svg.filter.js - рдПрд╕рд╡реАрдЬреА рдлрд┐рд▓реНрдЯрд░ ( рдЧреЙрд╕рд┐рдпрди рдмреНрд▓рд░, рд╣реЙрд░рд┐рдЬреЙрдиреНрдЯрд▓ рдмреНрд▓рд░, рдбрд┐рд╕реИрдмреЛрд░реЗрдЯ, рд╕реИрдЪреБрд░реЗрдЯ рдЖрджрд┐) рдХрд╛ рдПрдХ рд╕реЗрдЯред
- svg.draggable.js - рдЖрдкрдХреЛ рдЖрдЗрдЯрдореЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдФрд░ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
- svg.easing.js - рдПрдиреАрдореЗрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рддрд░реАрдХреЗ
- svg.path.js - рдШрдЯрддрд╛ ( рдбреЗрдореЛ ) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд▓рдЧрдЗрди
- svg.math.js - рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣
- svg.foreignobject.js - рд╡рд┐рджреЗрд╢реА рдСрдмрдЬреЗрдХреНрдЯ (рдПрд╕рд╡реАрдЬреА рддрддреНрд╡ рдЬрд┐рд╕рдореЗрдВ рдордирдорд╛рдирд╛ HTML рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- svg.export.js рдФрд░ svg.import.js рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╕рдВрдкреВрд░реНрдг SVG рдХреИрдирд╡рд╕ рдпрд╛ рдПрдХ рдЖрдЗрдЯрдо рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди:
рдбреЗрд╕реНрдХрдЯреЙрдк:
- рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 3+
- рдХреНрд░реЛрдо 4+
- рд╕рдлрд╛рд░реА 3.2+
- рдУрдкреЗрд░рд╛ 9+
- IE9 +
рдореЛрдмрд╛рдЗрд▓
- iOS рд╕рдлрд╛рд░реА 3.2+
- Android рдмреНрд░рд╛рдЙрдЬрд╝рд░ 3+
- рдУрдкреЗрд░рд╛ рдореЛрдмрд╛рдЗрд▓ 10+
- Android рдХреЗ рд▓рд┐рдП рдХреНрд░реЛрдо 18+
- Android 15+ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕
рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред