Какво е SWF файл?
SWF файлът е анимационен файл, създаден с Adobe Flash. Може да съдържа различен тип елементи като текст, векторни изображения, растерни изображения, скриптове за действие, обекти като кръгове, линии, квадрати и правоъгълник за създаване на анимация. SWF файловете подреждат тези мултимедийни елементи в кадри, които могат да се възпроизвеждат с различни кадри в секунда (fps). SWF означава кратък уеб файл, но също така е известно, че има Shockwave формат.
Приложенията, които можеха да отварят SWF файлове*, включваха Adobe Flash Player (вече прекратен) и Eltima Elmedia Player.
SWF файлов формат - повече информация
SWF файловете са били използвани за съхранение като двоични файлове на диск. Файловият формат SWF беше използван за разработване на анимации и игри, които могат да бъдат вградени в уебсайтове и да се играят независимо. Той също така поддържа видео и звуци, които дават на разработчиците много възможности за създаване на интерактивни мултимедийни приложения. SWF файловете могат да се възпроизвеждат в уеб браузъри, които имат инсталиран Adobe Shockwave. Adobe Flash беше спрян през декември 2020 г. поради недостатъци и проблеми със сигурността.
Кратка история на файловия формат SWF
Файловият формат SWF първоначално е проектиран от FutureWave Software, за да показва анимации с намерение да се изпълнява на софтуер за плейър на всяка система с по-бавни мрежови връзки, като същевременно запазва размера на файла малък. През декември 1996 г. Macromedia притежава FutureWave и се преобразува в Macromedia Flash 1.0.
През 2005 г. Macromedia беше придобита от Adobe, която обяви SWF като част от своя проект с отворен код през 2008 г. През същата година Adobe пусна код на популярните световни уеб машини, за да им позволи обхождането и индексирането на SWF файлове. Въпреки това, тъй като SWF файловете изглежда се превръщат в стандартен формат за публикуване на Flash съдържание в интернет, SWF е преработен, за да означава малък уеб формат.
SWF файлова структура
Пътят е основният графичен елемент в SWF, който представлява последователност от сегменти от основни елементи, вариращи от прости линии до криви на Безие. Тези прости елементи също помагат да се направят други допълнителни примитиви като кубове, елипси и дори текстове. Графичните примитиви в SWF имат сходство с графичните елементи на други формати като SVG и MPEG-4 BIFS.
Показване на списъци и повторно използване/преименуване на вече дефинирани елементи също са разрешени от формата. Форматът на двоичния поток на SWF може да се сравни с QuickTime atoms, който е подобен по отношение на етикет, размер и полезен товар. Форматът на двоичен поток позволява на по-старите играчи да пропускат неподдържано съдържание. Въпреки че оригиналните версии на SWF бяха ограничени да предлагат векторни графики и изображения, следователно новите версии позволяват и аудио и видео съдържание.
Нов 3D API на ниско ниво на Flash Player, наречен „Stage3D“, беше въведен във версия 11. Този API беше предвиден да бъде аналог на OpenGL или Direct3D. Stage3D дефинира цветовете на език от ниско ниво, наречен Adobe Graphics Assembly Language (AGAL). Следват няколко основни типа данни на SWF файлов формат.
Координати
XY координатите във файлов формат SWF се съхраняват като цели числа и се измерват в единица, наречена twip. Туипът се състои от 1/20 от логическия пиксел. Логическият пиксел и екранният пиксел са еднакви, когато файлът се възпроизвежда без мащабиране на 100%.
Целочислени типове и ред на байтовете
Подписаните и неподписаните цели числа от 8, 16, 32 и 64 бита са разрешени във файлов формат SWF. Little-endian ред на байтовете се използва за съхраняване на цели числа. Макар и в рамките на байтове, редът на битовете се съхранява в big-endian. Всички цели числа трябва да бъдат подравнени по байтове. Целите числа със знак се представят чрез използване на традиционни битови шаблони за допълване на 2.
Числа с фиксирана запетая
Два вида числа с фиксирана запетая се поддържат от файловия формат SWF, т.е. 32 и 16 бита.
Числа с плаваща запетая
SWF 8 и по-новата версия използват три типа числа с плаваща запетая (FLOAT, FLOAT 16, DOUBLE), които са съвместими със стандарта IEEE 754 за типове с плаваща запетая.
Кодирани цели числа
Един тип кодирано цяло число се поддържа от SWF 9 и по-нови с променлив брой байтове.