Pixi.js: Pixi.js рдкрд░ SVG рдЗрдореЗрдЬ рдмрд╣реБрдд рдзреБрдВрдзрд▓реА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЕрдЧре░ 2014  ┬╖  25рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pixijs/pixi.js

рдореИрдВрдиреЗ рдПрдХ рдПрд╕рд╡реАрдЬреА рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдкрд┐рдХреНрд╕реА.рдЬреЗрдПрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкреНрд░рддрд┐рдкрд╛рджрди рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рд╢реЛрдХреЗрд╕ jsfiddle рдмрдирд╛рдпрд╛ рд╣реИ:

http://jsfiddle.net/confile/w84y9k7c/

рдХреНрдпрд╛ Pixi.js рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ SVG рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

ЁЯЩП Feature Request

рд╕рднреА 25 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

Pixi.js рдПрдХ рдмрд┐рдЯрдореИрдк рд░реЗрдВрдбрд░рд░ рд╣реИ, рд╡реЗрдХреНрдЯрд░ рд░реЗрдВрдбрд░рд░ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ SVG рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ png/jpg рдХрд╣рдиреЗ рдкрд░ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рд╣реЗ рд▓реЛрдЧреЛрдВ,

@englercj рд╕рд╣реА рд╣реИред рдЬрдм рдЖрдк рдЗрд╕реЗ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдкрд┐рдХреНрд╕реА рдПрд╕рд╡реАрдЬреА рдХреЛ рд░рд╛рд╕реНрдЯрд░рд╛рдЗрдЬ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдордп рдПрд╕рд╡реАрдЬреА рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЖрдЧреЗ рдФрд░ рдиреАрдЪреЗ рджреЗрдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рдВрдЧ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдзрдиреНрдпрд╡рд╛рдж!

рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрднреА рддрдХ рдПрдХ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдкрд░ рдирд╣реАрдВ рд░рдЦрд╛ рд╣реИред

рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕рдХреЗ рд▓рд┐рдП v3 рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЕрдиреНрдп рднрдпрд╛рдирдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдкрд╣рд▓реЗ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреБрдЫ рд╕рдордп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рдореБрджрд╛рдп рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдирд╣реАрдВ рд▓реЗрддрд╛!

рд╕реНрдХреЗрд▓ рдХреЛ 1 рдореЗрдВ рдмрджрд▓реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ spriteSVG.scale.set(1); рдореЗрдВ рд╣реИред SVG рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рд▓рд╛ рдЯреИрдЧ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ...рд╡реНрдпреВрдкреЛрд░реНрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░реЗрдВ рдЬреИрд╕реЗ рдирд┐рдореНрди:

<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 200 200">
рд░реЗрдВрдбрд░ рд╢рд╛рд░реНрдк рд╣реИред

рд╢рд╛рдпрдж рдХреЛрдИ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рдирдЪрд░реНрдпрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдмрдирд╛рд╡рдЯ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд jsfiddle рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рдирд▓ рд░рд┐рд╕реЛрд░реНрд╕ рд╢реЗрдпрд░рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред

рдореИрдВ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рд╕реЗ SVG рд╕реЗ PIXI.Graphics рд░реВрдкрд╛рдВрддрд░рдг рдЪреАрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

https://github.com/saschagehlich/pixi-svg-graphics

рдЖрдк рдпрд╣рд╛рдВ рдПрдХ рдбреЗрдореЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
http://filshmedia.net/lab/pixi-svg/
(PIXI.Container рдХреЛ 10x рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореВрд▓ SVG 80x80 рдЬреИрд╕рд╛ рд╣реИ), рдФрд░ рдпрд╣ рдЕрднреА рднреА рдХреНрд░рд┐рд╕реНрдкреА рд╣реИ)

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

рдЕрдЧрд░ рдХреЛрдИ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ - рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред :)

+1

рдЦреЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рднрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╣рд░ рдЪреАрдЬ рдХреА рдзрд╛рд░рдгрд╛ рдПрдХ рд░реЗрдЦрд╛рдкреБрдВрдЬ рд╣реИ

рдореЗрд░рд╛ PIXI-SVG-рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрдм рдЬрдЯрд┐рд▓ рдкрдереЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдореИрдВрдиреЗ рдЗрд╕реЗ npm рдкрд░ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛: https://www.npmjs.com/package/pixi-svg-graphics

рдореИрдВ рдПрдХ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреВрдВрдЧрд╛ рдЬреЛ рдПрдХ рдирдпрд╛ рд░реЗрдВрдбрд░ рдЗрдВрдЬрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрд╕рд╡реАрдЬреА рд░реЗрдВрдбрд░ рдЗрдВрдЬрди рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПред

рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ (рдФрд░/рдпрд╛ рдмреЗрд╕рдЯреЗрдХреНрдЪрд░) "рдПрд╕рд╡реАрдЬреАрд╕реНрдкреНрд░рд╛рдЗрдЯ" рдХрд╛ рдЙрдк-рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╡реЗрдмрдЬреАрдПрд▓ рд░реЗрдВрдбрд░рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрд╕рд╡реАрдЬреА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЖрдХрд╛рд░ рдореЗрдВ рдПрдХ рдмрдирд╛рд╡рдЯ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рдзреБрдВрдзрд▓рд╛ рди рд╣реЛред

рд╡рд┐рдЪрд╛рд░:

  • webgl рд░реЗрдВрдбрд░рд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдЯреАрдХ рдЖрдХрд╛рд░ рдореЗрдВ рдПрдХ 2d рдХреИрдирд╡рд╛рд╕ рдмрдирд╛рдПрдВ
  • рдбреНрд░реЙрдЗрдореЗрдЬ (svg_file, 0, 0) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; 2d рдХреИрдирд╡рд╛рд╕ рдкрд░
  • webGL рд░реЗрдВрдбрд░рд░ рдХреЗ рд▓рд┐рдП рдмрдирд╛рд╡рдЯ рдХреЗ рд░реВрдк рдореЗрдВ 2d рдХреИрдирд╡рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

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

рдЗрд╕ рддрд░рд╣ рд╕рднреА SVG рдлреАрдЪрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкрд┐рдХреНрд╕реА рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЧреИрд░-рдзреБрдВрдзрд▓рд╛ рд╣реЛрддрд╛ рд╣реИред

@FlorianLudwig рддреЛ рдХреБрдЫ рдРрд╕рд╛ https://gist.github.com/biovisualize/8187844 рдХреЗ рд╕рд╛рде PIXI.Texture.fromCanvas рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЫрд╡рд┐ рдХреЗ рдХреИрдирд╡рд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдХрд┐рд╕реА рддрд░реАрдХреЗ рдХреЗ рд╕рд╛рде рдпрджрд┐ рдПрд╕рд╡реАрдЬреА рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ mySVG.setAttribute("transform", "scale(50 50)"); рддрд░рд╣ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ

@saschagehlich

рдореЗрд░рд╛ PIXI-SVG-рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрдм рдЬрдЯрд┐рд▓ рдкрдереЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬреЗрдВ рдЕрднреА рднреА рдЧрд╛рдпрдм рд╣реИрдВ ?

рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХреЛрдб

    var canvas = document.createElement ('canvas');
    canvas.width = ...; canvas.height = ...;
    canvas.getContext ('2d').drawImage (svgImage, 0, 0, canvas.width, canvas.height);

    var sprite = new PIXI.Sprite (new PIXI.Texture (new PIXI.BaseTexture (canvas)));

svg рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рд╕реНрдкреНрд░рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рд╕рд┐рд╡рд╛рдп рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдлреИрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ svg рдЯреИрдЧ рдореЗрдВ preserveAspectRatio="none" рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛)ред

рдпрджрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ "+1" рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдореВрд▓ рдкреЛрд╕реНрдЯ рдХреЛ +1 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореИрдВ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдХрд┐рд╕реА рднреА "+1" рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рд╢реЛрд░ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рдмрд╛рддрдЪреАрдд рдХреЛ рдкрдврд╝рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рд╡рдЯ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдЪреМрдерд╛ рдкреИрд░рд╛рдореАрдЯрд░ svg рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреЗрд▓ рд▓реЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

new PIXI.Texture.fromImage('bunny.svg', undefined, undefined, 2.0);

рдореИрдВрдиреЗ рдмрдиреАрдорд╛рд░реНрдХ рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рдЖрдк рдпрд╣рд╛рдВ рдЬреЗрдПрд╕ рд╕реЗ рд▓рд╛рдЗрди 66 рдХреЛ рдмрджрд▓рдХрд░ рд╕реНрдХреЗрд▓ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
http://codepen.io/anon/pen/pyXMzRред

@englercj , рдЕрдЧрд░ рдпрд╣ рдареАрдХ рд▓рдЧреЗ рддреЛ рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ: https://github.com/RanzQ/pixi.js/commit/07522e6dddcdb4741e196ad5f20bb8e534fbb59e

рдЗрд╕ рддрд░рд╣ рдХреЛрдИ рд╡рд┐рдВрдбреЛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдкрд░ рдмрдирд╛рд╡рдЯ рдХреЛ рд╕реНрдХреЗрд▓ рдФрд░ рд░реА-рд░рд╛рд╕реНрдЯрд░рд╛рдЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рджреГрд╢реНрдп рдЙрддреНрддрд░рджрд╛рдпреА рд╣реЛ рдФрд░ рдЕрднреА рднреА рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╣реЛ рдЬреЛ рдкрд┐рдХреНрд╕реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдкреАрдЖрд░: https://github.com/pixijs/pixi.js/pull/2614

рдкреАрдЖрд░ рд╡рд┐рд▓рдп, рдЗрд╕реЗ рдмрдВрдж!

рдпрд╣ рдХреНрд░реЛрдо рдЕрдВрдб рдПрдлрдПрдл рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдИрдИ 11 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдХреЛрдб рдХреА рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд╛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИ

let tiger = new Sprite(new PIXI.Texture.fromImage('images/tiger.svg', true, PIXI.SCALE_MODES.LINEAR, 8.0)); 

image

рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ?

рдЖрд╣ рдЕрдЪреНрдЫрд╛ рд░рд╛рдЬрднрд╛рд╖рд╛ 'рд╕реБрд░рдХреНрд╖рд╛ рддреНрд░реБрдЯрд┐ред рдпрд╣ IE11 рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ рдЬрд┐рд╕реЗ рдПрдЬ рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди IE11 рдореЗрдВ рдирд╣реАрдВ:

https://github.com/pixijs/pixi.js/issues/2928

рдЖрдк рдЕрдкрдиреЗ SVG рдХреЛ PNG рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ред рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

AM 14.12.2017 08:10 schrieb "рд╕рд╛рд╢рд╛ рдЧреЗрд╣рд▓рд┐рдЪ" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com:

рдЖрд╣ рдЕрдЪреНрдЫрд╛ рд░рд╛рдЬрднрд╛рд╖рд╛ 'рд╕реБрд░рдХреНрд╖рд╛ рддреНрд░реБрдЯрд┐ред рдпрд╣ IE11 рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ рдЬрд┐рд╕реЗ рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдПрдЬ, рд▓реЗрдХрд┐рди IE11 рдореЗрдВ рдирд╣реАрдВ:

2928 https://github.com/pixijs/pixi.js/issues/2928

рдЖрдк рдЕрдкрдиреЗ SVG рдХреЛ PNG рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/pixijs/pixi.js/issues/936#issuecomment-351627238 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAu1ZuPEIl_MUskNn1grboYcBl6Vxdxlks5tAMnfgaJpZM4CaLFV
.

рдореИрдВ рдПрдХ рдПрд╕рд╡реАрдЬреА рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PIXI.Texture.fromImage рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдПрд╕рд╡реАрдЬреА рдзреБрдВрдзрд▓рд╛ рд▓рдЧрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рдирдореВрдирд╛ рдХреЛрдб https://codepen.io/anon/pen/QaxqvP
рдбреЗрд╕реНрдХрдЯреЙрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдпрд╣ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдЖрдЬрд╝рдорд╛рддрд╛ рд╣реВрдВ рддреЛ рдПрд╕рд╡реАрдЬреА рдЗрд╕ рддрд░рд╣ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ:
https://imgur.com/VbXlypP (рдмрд╛рдИрдВ рдУрд░ рдХреА рдЫрд╡рд┐ PIXI-SVG рд╣реИ; рджрд╛рдИрдВ рдУрд░, рдПрдХ html img рдЯреИрдЧ рд╣реИ)ред

рд╢рд╛рдпрдж рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд┐рдХреНрд╕реЗрд▓ рдЕрдиреБрдкрд╛рдд рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ "рдЬрд╝реВрдо-рдЗрди" рд╕реНрдХреНрд░реАрди рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдЕрдЧрд░ рдореИрдВ рдЬрд╝реВрдо-рдЗрди рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдЙрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
1 рд╕реЗ рдмрдбрд╝реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдЕрдиреБрдкрд╛рдд рд╡рд╛рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрд╕рд╡реАрдЬреА рджрд┐рдЦрд╛рдиреЗ/рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдХреИрд╕рд╛ рд╣реИ?

рдореБрдЭреЗ рдзреБрдВрдзрд▓рд╛ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ iPhone X рдХрд╛ рд╣реИред
455a3a2c-f327-43d8-9eba-aabf2492c707

рдЕрдкрдиреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдЬрд╝реВрдо рдЗрди рдХрд░реЗрдВ, рдЖрдк рдЗрд╕реЗ рджреЗрдЦреЗрдВрдЧреЗред рддреБрдореНрд╣рд╛рд░рд╛ рдореБрдЭрд╕реЗ рдХрдо рдзреБрдВрдзрд▓рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдзреБрдВрдзрд▓рд╛ рд╣реИред

рдореИрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ,

let texture = new PIXI.Texture.fromImage('../assets/heart.svg', false, undefined, 2);

рдлреЗрдВрдХрддрд╛

ERROR Error: The SVG image must have width and height defined (in pixels), canvas API needs them.

рдЕрдЧрд░ рдореИрдВ рдкрд╣рд▓реЗ рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ

PIXI.loader.add("../assets/heart.svg").load(...)

рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХреА рдирд╣реАрдВ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рд╕реНрддреБрдд рд╕реНрдкреНрд░рд╛рдЗрдЯ рдЬрд┐рд╕рдореЗрдВ new PIXI.Texture.fromImage рд╕реЗ рдмрдирд╛рд╡рдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╕рднреА рдкрд┐рдХреНрд╕реЗрд▓рдпреБрдХреНрдд рд╣реИрдВ, рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ рдПрд╕рд╡реАрдЬреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, sourceScale рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 1

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрднреА рджреЗрдЦрд╛ рдХрд┐ рд▓реЛрдбрд░ рдХреЗ рд╕рд╛рде рдмрдирд╛рд╡рдЯ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ sourceScale рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ (https://github.com/pixijs/pixi.js/issues/4543)ред рдореИрдВ рдЕрдкрдирд╛ рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХреНрдпреЛрдВ рдлреЗрдВрдХреА рдЧрдИ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 2

рдореЗрд░реЗ svg рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: <svg width="38.148697mm" height="32.77169mm" ...> ред рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдпрд╛рдо "рдорд┐рдореА" рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ PIXI рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИред "рдорд┐рдореА" рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг @maximedupre , рдХреЗрд╡рд▓ px рдорд╛рди рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреА рдЧрдИ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ svgs рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Makio64 picture Makio64  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

neciszhang picture neciszhang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

st3v0 picture st3v0  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gaccob picture gaccob  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Darker picture Darker  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ