Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






JavaScript. GD Graphics Library - програмна бібліотека , написана Томасом Баутелом ( Thomas Boutell ) та іншими розробниками для динамічної роботи із зображеннями






GD Graphics Library

GD Graphics Library - програмна бібліотека, написана Томасом Баутелом (Thomas Boutell) та іншими розробниками для динамічної роботи із зображеннями. Початковий мову програмування бібліотеки - ANSI C, але розроблені інтерфейси для безлічі інших мов програмування. Бібліотека дозволяє створювати зображення в форматах GIF, JPEG, PNG і WBMP. Підтримка GIF була припинена в 1999, коли Unisys анулювала вільну ліцензію для безкоштовного і некомерційного ПО на використання працюючого в GIF методу компресії LZW. 7 липня 2004, коли термін дії патенту закінчився, підтримка GIF була відновлена.

Назва GD спочатку позначало «GIF Draw». Однак, після анулювання ліцензії Unisys, абревіатура розшифровується, як «Graphics Draw».

GD дозволяє створювати зображення, що складаються з ліній, дуг, тексту (включаючи програмний вибір шрифтів) та інших зображень, а також використовувати різні кольори.

У версії 2.0 додана підтримка 32 -бітових (truecolor) зображень, Альфа - каналів, дискретизація зображень (для плавної зміни розміру 32 - бітних зображень) і багато іншого.

 

 

GD підтримує безліч мов програмування, включаючи C, PHP, Perl, Python, O'Caml, Tcl, Lua, Pascal, GNU Octave, Common Lisp, Scheme і REXX. Є також інструмент, званий fly, який дозволяє отримувати доступ до GD з будь-якої мови програмування при використанні командного рядка.

OpenGL

OpenGL (Open Graphics Library - відкрита графічна бібліотека, графічний API) - специфікація, що визначає незалежний від мови програмування платформонезавісимость програмний інтерфейс для написання додатків, що використовують двовимірну і тривимірну комп'ютерну графіку.

Включає більше 300 функцій для малювання складних тривимірних сцен з простих примітивів. Використовується при створенні комп'ютерних ігор, САПР, віртуальної реальності, візуалізації в наукових дослідженнях. На платформі Windows конкурує з Direct3D.

OpenGL орієнтується на наступні два завдання:

А) Приховати складності адаптації різних 3D - прискорювачів, надаючи розробнику єдиний API.

В) Приховати відмінності в можливостях апаратних платформ, вимагаючи реалізації відсутньої функціональності за допомогою програмної емуляції.

Основним принципом роботи OpenGL є отримання наборів векторних графічних примітивів у вигляді точок, ліній і багатокутників з наступною математичною обробкою отриманих даних і побудовою растрової картинки на екрані і / або в пам'яті.

 

 

OpenGL є низькорівневим процедурним API, що змушує програміста диктувати точну послідовність кроків, щоб побудувати результуючу растрову графіку (імперативний підхід). Це є основною відмінністю від дескрипторних підходів, коли вся сцена передається у вигляді структури даних (найчастіше дерева), яке обробляється і будується на екрані. З одного боку, імперативний підхід вимагає від програміста глибокого знання законів тривимірної графіки і математичних моделей, з іншого боку - дає свободу впровадження різних інновацій.виполняются графічним конвеєром (graphics pipeline), який по суті являє собою дискретний автомат. Абсолютна більшість команд OpenGL потрапляють в одну з двох груп: або вони додають графічні примітиви на вхід в конвеєр, або конфігурують конвеєр на різне виконання трансформацій.

Існує ряд бібліотек, створених поверх або на додаток до OpenGL. Наприклад, бібліотека GLU, що є практично стандартним доповненням OpenGL і завжди її супроводжує, побудована поверх останньої, тобто використовує її функції для реалізації своїх можливостей. Інші бібліотеки, як, наприклад, GLUT і SDL, створені для реалізації можливостей, недоступних в OpenGL. До таких можливостей відносяться створення інтерфейсу користувача (вікна, кнопки, меню тощо), настройка контексту малювання (область малювання, использующаяся OpenGL), обробка повідомлень від пристроїв введення-виведення (клавіатура, миша та ін), а також робота з файлами. Зазвичай, кожен віконний менеджер має власну бібліотеку - розширення для реалізації вищеописаних можливостей, наприклад, WGL в Windows або GLX в X Window System, однак бібліотеки GLUT і SDL є крос- платформеними, що полегшує перенесення написаних додатків на інші платформи.

 

 

1.1.3 GTK +

GTK + (скорочення від GIMP ToolKit) – кроссплатформена бібліотека елементів інтерфейсу, має простий у використанні API, поряд з Qt є однією з двох найбільш популярних на сьогоднішній день бібліотек для X Window System.

Спочатку була частиною графічного редактора GIMP, вона розвинулася в окремий проект і придбала помітну популярність. GTK + - вільне ПЗ, яке розповсюджується на умовах GNU LGPL, що дозволяє створювати як вільне, так і пропрієтарне програмне забезпечення з використанням бібліотеки. GTK + є офіційною бібліотекою для створення графічного інтерфейсу проекту GNU.

GTK + написана на мові Сі, але проте, є об'єктно-орієнтованою. Однією з причин для вибору Сі в якості мови було бажання легко будувати інтерфейси для інших мов програмування. В результаті під GTK + можна писати на наступних мовах програмування:

C, C++, C#, Java, JavaScript, PHP та інші.

Власне GTK + складається з двох компонентів: GTK і GDK. Перший містить набір елементів інтерфейсу користувача, або «віджетів» (таких, як кнопка, список, поле для введення тексту і т. п.) для різних завдань. GDK відповідає за виведення на екран і може використовувати для цього X Window System, Linux Framebuffer, WinAPI або функції Mac OS X. Починаючи з версії 2.8, GDK багато в чому (але не повністю) замінена на систему отрисовки векторної графіки Cairo.

 

 

Крім Cairo, GTK + залежить від трьох бібліотек - GLib, Pango і ATK, - які розробляються разом з GTK +, але можуть використовуватися і окремо.

Программи що використовують GTK +

- AbiWord - текстовий редактор

- Anjuta - офіційна інтегрована середовище розробки GNOME

- Chromium - веб -браузер, разрабативаеммий в основному компанією Google і використовує WebKit

- Ekiga - програми для VoIP і відео -конференцій

- Epiphany - веб -браузер середовища GNOME.

- Evolution - програма для управління контактами та електронною поштою

- Firefox - стандартний браузер більшості Gnome- редакцій дистрибутивів Linux.

- GIMP - растровий графічний редактор

- Inkscape - векторний графічний редактор

- Midori - легкий веб -браузер

- MonoDevelop - відкрита інтегрована середовище розробки

- Pidgin - клієнт обміну миттєвими повідомленнями

- Wireshark - аналізатор мережевих пакетів

- SciTE - багатоплатформовий текстовий редактор

 

 

1.2 Структура сценаріїв для 3D графіки

Скриптова мова (англ. scripting language) — мова програмування, розроблена для запису «сценаріїв», послідовностей операцій, які користувач може виконувати на комп'ютері. Прості скриптові мови раніше часто називали мовами пакетної обробки (batch languagesабо job control languages). Сценарії зазвичай інтерпретуються, а не компілюються.

У прикладній програмі, сценарій (скрипт) — це програма, яка автоматизує деяке завдання, яке без сценарію користувач робив би вручну, використовуючи інтерфейс програми. Мови таких скриптів спочатку орієнтувалися на використання в якості внутрішніх керуючих мов у складних системах. Багато хто з них, проте, вийшли за межі сфери свого початкового застосування і використовуються нині в зовсім інших областях. Характерними особливостями даних мов є, по-перше, їх інтерпретованість (компіляція або неможлива, або небажана), по-друге, простий синтаксис, а по-третє, легка розширюваність. Таким чином, вони ідеально підходять для використання в часто змінюваних програмах, дуже невеликих програмах або у випадках, коли для виконання операторів мови витрачається час, незрівнянний із часом їх розбору.

Для написання призначених розширень користувача можуть використовуватися як плагіни, так і скрипти. Скриптова мова використовується переважно в таких випадках:

А) Якщо потрібно забезпечити програмовість без ризику дестабілізувати систему. Оскільки, на відміну від плагінів, скрипти інтерпретуються, а не компілюються, неправильно написаний скрипт виведе діагностичне повідомлення, а не приведе систему до краху.

В) Якщо важливий виразний код. По-перше, чим складніша система, тим більше коду доводиться писати «тому, що це потрібно». По-друге, в скриптовій мові може бути зовсім інша концепція програмування, ніж в основній програмі — наприклад, гра може бути монолітним однопотоковим застосунком, тоді як скрипти, що керують персонажами, виконуються паралельно. По-третє, скриптова мова має власний проблемно-орієнтований набір команд, і один рядок скрипта може робити те ж, що кілька десятків рядків на традиційній мові. Як наслідок, на скриптовій мові може писати програміст дуже низької кваліфікації — наприклад, геймдизайнер своїми руками, не покладаючись на програмістів, може коректувати правила гри.

С) Якщо потрібна крос-платформовість. Хорошим прикладом є JavaScript — його виконують браузери під найрізноманітнішми ОС.

Також в плані швидкодії скриптові мови можна розділити на мови динамічного розбору (sh, command.com) і передкомпільовані (Perl). Мови динамічного розбору прочитують інструкції з файлу програми мінімально потрібними блоками, і виконують ці блоки, не читаючи подальший код. Передкомпільовані мови спочатку прочитують всю програму, компілюють її всю або в машинний код, або байт-код, або в якийсь внутрішній формат, і лише потім виконують отриманий код.

 

 

Lua

Lua — швидка і компактна скриптова мова програмування, розроблена підрозділом Tecgraf Католицького університету Ріо-де-Жанейро. Є вільно поширюваним, звідкритим сирцевим кодом на мові Сі.

За можливостями, ідеологією і реалізацією, мова найближча доJavaScript, проте Lua відрізняється могутнішими і набагато гнучкішими конструкціями, спроектованими з метою «не плодити суті понад необхідне». Хоча Lua не містить поняття класу і об'єктав явному вигляді, механізми об'єктно-орієнтованого програмування з підтримкою прототипів (включаючи множинне успадкування) легко реалізуються з використаннямметатаблиць, які також дозволяють перевантаження операційтощо. Реалізована модель ООП (як і в JavaScript) — прототипна.

Lua отримала велике поширення в ролі вбудованої в інші проекти мови сценаріїв (наприклад, для визначення конфігурації або для написання розширень). Lua комбінує простий процедурний синтаксис з потужними можливостями опису даних через використання асоціативних масивів і розширюваної семантики мови. У Lua використовується динамічна типізація, мовні конструкції перетворюються в байт-код, який виконується поверх регістровоївіртуальної машини з автоматичним збирачем сміття. Самінтерпретатор оформлений у вигляді бібліотеки, легко інтегрованої в проекти на мовах Сі та Сі++. Код інтерпретатора Lua написаний на мові Сі і розповсюджується під ліцензією MIT.

 

 

JavaScript

JavaScript

JavaScript - призначений для написання сценаріїв для активних HTML - сторінок. Мова JavaScript не має ніякого відношення до мови Java. Java розроблений фірмою SUN. JavaScript - фірмою Netscape Communication Corporation. Перша назва - LiveScript. Після завоювання мовою Java всесвітньої популярності LiveScript з комерційних міркувань перейменували в JavaScript.

JavaScript не призначений для створення автономних додатків. Програма на JavaScript вбудовується безпосередньо у вихідний текст HTML - документа й інтерпретується брaузер по мірі завантаження цього документа. За допомогою JavaScript можна динамічно змінювати текст завантажуваного HTML - документа і реагувати на події, пов'язані з діями відвідувача або змінами состоятія документа або вікна.

Важлива особливість JavaScript - об'єктна орієнтованість. Програмісту доступні численні об'єкти, такі, як документи, гіперпосилання, форми, фрейми і т.д. Об'єкти характеризуються описової інформацією (властивостями) і можливими діями (методами)

тег < script>

Сценарій JavaScript вбудовується в HTML - документ за допомогою тега < script>.

Текст сценарію оформляється як коментар, щоб не було проблем у відвідувачів, брaузер яких не розуміють JavaScript. Крім того до символів, завершальним коментар додається ще два символи " /", тому що деякі браузери розглядає рядок, що складається тільки з символів " -> ", як помилкову.

 

У першому прикладі для об'єкта з ім'ям document викликається метод write. Як параметр йому передається текстовий рядок " Привіт! ". Рядок закривається символом "; ", яким відокремлюються один від одного всі оператори JavaScript.

Об'єкт document - це HTML - документ, завантажений у вікно брaузер. Метод write записує в тіло HTML - документа рядок " Привіт! ". При цьому документ буде вигдядеть так, як ніби ця рядок знаходиться в ньому на місці сценарію.

Майте на увазі, що JavaScript розрізняє малі та великі літери. Крім того символ дефіса в JavaScript розпізнається як мінус, тобто якщо фон об'єкта в HTML- документі задається через властивість background - color, то в JavaScript - через backgroundColor.

Змінні в JavaScript

Ім'я змінної не повинно збігатися з зарезервованими ключовими словами JavaScript.

Всі змінні в JavaScript оголошуються за допомогою ключового слова var. При оголошенні тип змінної не вказується. Цей тип присвоюється змінної тільки тоді, коли їй присвоюється яке-небудь значення.

Числа в рядки інтерпретатор JavaScript перетворює автоматично. Для перетворення рядків у числа використовують спеціальні функції parseInt і parseFloat

 

Денвер

Денвер (від скор. Д.н.w.р або ДНВР — джентльменський набір Web-розробника) — набір дистрибутивів і програмна оболонка, призначені для створення та налагодження сайтів (веб-додатків, іншого динамічного вмісту інтернет-сторінок) на локальному ПК (без необхідності підключення до мережі Інтернет) під управлінням ОС Windows.

Відразу після установки клієнту доступний повністю працюючий веб-сервер Apache, що працює на його локальному комп'ютері, на якому може працювати необмежена кількість сайтів, що дуже ефективно для розробки та налагодження сценаріїв PHP без завантаження їх файлів на віддалений сервер. Для запуску практично всіх утиліт «Денвера» використовується додаток Run в підкаталозі / denwer (або / etc) кореневого каталога установки Денвера. При запуску створюється віртуальний диск (за замовчуванням — Z:), де зберігаються всі файли проектів.

Третя версія підтримує роботу з флеш-накопичувача.

Особливістю, що відрізняє Denwer від інших WAMP-дистрибутивів, є автоматична правка системного файлу hosts, який є локальним аналогом DNS-сервера, що дозволяє звертатися до локальних сайтів, які працюють під управлінням Денвера, по іменах, що збігаються з іменами папок, розташованих в каталозі home Денвера.

 

1.3.2 Notepad++

Notepad++ — текстовий редактор, призначений для програмістів і тих, кого не влаштовує скромна функціональність Блокнота, що входить до складу Windows. Notepad++ базується на компоненті Scintilla (потужному компоненті для редагування), написаному на C++ з використанням тільки Windows API і STL, що забезпечує максимальну швидкість роботи при мінімальному розмірі програми. Інтерфейс у Notepad++ — багатомовний. Серед особливостей програми — підсвічування синтаксису, підтримка великої кількості мов (C, C++, Java, XML, HTML, PHP, Java Script, ASCII, Visual Basic/VBScript, SQL, CSS, Pascal, Perl і Python), багатомовна підтримка, робота з декількома документами.

Основні можливості Notepad++:

Підсвічування тексту і можливість згортання блоків, згідно з синтаксисом мови програмування

- WYSIWYG (друкуєш і отримуєш те, що бачиш на екрані)

- Режим підсвічування синтаксису, що налаштовується користувачем

- Авто-завершення слова, що набирається

- Одночасна робота з безліччю документів

- Підтримка регулярних виразів для пошуку/заміни

- Повна підтримка перетягування фрагментів тексту

- Динамічна зміна вікон перегляду

- Автоматичне визначення стану файлу

- Збільшення і зменшення

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.