seks izle porno izle porno izle

Програмиране

Все интересни работи

Fabric.js – интерактивен HTML5 Object model

Програмиране No Comments

HTML5 навлиза с пълна сила в живота на уеб разработчиците. Въпреки, че спецификацията му се променя почти ежедневно (living standard), има неща, които вече са се утвърдили и имат широка поддръжка от съвременните браузъри. Като например canvas елемента. Елемент не е точната дума в случая, защото canvas е много повече от това. По-скоро мога да го определя като едно доста интересно API за рисуване на 2d и 3d неща директно с JS. “Интересно” смятам, че е най-точната дума в случая, защото е доста нестандартно и същевременно предлага много възможности.

Обаче колкото и да е добре направено все пак работи на доста ниско ниво (разбирайте примитивни векторни форми и директен достъп до пикселите на bitmapи). Още повече, че canvas не е само средство за чертане и рисуване. Щом участва JS всичко може да стане динамично.

А щом нещо работи на ниско ниво е хубаво да има и добра абстракция за него. Fabric.js е една такава абстракция, която ми влезе под кожата последната седмица. Fabric.js е JavaScript библиотека за работа с canvas. Има хубава обектно-ориентирана йерархия и позволява лесно неща като местене, оразмеряване и завъртане на обекти с мишката. Има демо тук .

Но има някои неща, които не са имплементирани. Като например работа с bitmapdata (и общо взето не-векторни неща). И понеже като ми влезе една муха в главата трудно излиза, го форкнах в github и започнах да си играя с него. Под ‘играя’ да се разбира ‘модифицирам’. Първо го направих да приема top/left координати за обектите, тъй като бяха center базирани (като дадеш на квадрат top: 0, left: 0 се вижда 1/4 от него). Оразмеряването на неща направих в стил а-ла-фотошоп с всичките му особености като shift и alt. Ето демо. Сорса на форка ми е тук.

Ще спра дотук. На който му е интересно ще поразгледа линковете в статията. Ако не ви е интересно… еми съжалявам, че си изгубихте времето да четете.

Share this

Leave a Comment

Couldn't connect to server