|
|
Основни графични формати
Най-общо графичните формати могат да бъдат
разделени на две основни групи, а именно:
векторни и растерни.
Векторните формати са характерни
за CAD системите
(или системи за автоматично проектиране
като:
AutoCAD, ArchiCAD, OrCAD др.),
а също
така и за някои програми за предпечатна
подготовка
(поради добрата си мащабируемост).
Обикновенно
за запис на информацията при
редакторите,
работещи с векторна графика се
използват
текстови файлове. Векторните
формати и използването
им в DB Manager са тема на отделни
разглеждания.
В demo версията на продукта не
е предвидено
тяхното използване.
Растерни формати са всички онези,
които се
ползват при сканиране, заснимане
с цифрова
камера или машинно генерирани.
Към тях може
да се причислят PCX, GIF, TIFF,
PIC, JPEG,
BMP и др.. За разлика от растерните,
тук
информацията се записва в двоични
файлове
(виж разделът за XML-документи).
Този тип формати се използват
в продукти
като: Aldus PageMaker, PhotoShop,
CorelDraw,
PhotoStyler, PaintBrush и др..
С включването
на цифровото заснимане, като
неделима част
отфункциитенасъвременните
мобилни апарати, те стават все
по-популярни.
Някои от тях (като например GIF-форматът)
и до днес са изключително често
използвани
при разработката на web-базирани
приложения,
поради високата степен на компресия,
която
позволяват и възможността за
създаване на
анимирани изображения, въпреки
навлизането
на нови технологии.
Ето и кратка информация за някои от най-често
използваните растерни формати:
- GIF - характеризира се с опростена, файлова
структура и наличие на сравнително малък
брой атрибути на изображението. Позволява
много добра степен на компресия, без при
това да се нарушава качеството на извежданото
изображение.
- TIFF (Tag Image File Format) - Един от основните
графични формати използвани при скенерите
и дигиталните камери. Притежава множество
атрибути (метаданни, виж XML-документи),
което позволява точно описание на сложни
изображения. Създаден е съвместно от разработчиците
на Aldus PageMaker и Microsoft Windows
- PCX - Поддържа изключително упростен алгоритъм
за архивиране, който позволява свеждане до
минимум на времето необходимо за запис на
изображенията във файл или видеопаметта.
Разработен е от компанията ZSoft, като основен
формат за PaintBrush.
- BMP - Стандартен, разстерен формат за съхраняване
на графични изображения. Всички бази от данни
записват растерните графики в този формат
независимо от типа на полето (в смисъл дали
е BLOB, Graphic и т.н.).
- JPEG (Joint Photographic Experts Group) -
Предназначен е да компресира имформационния
обем на изображения, пресъздаващи реалистични
сцени, които притежават голям брой цветове,
преливащи през малки области. Подходящ за
снимки но не е подходящ за контурни изображения
с относително големи едноцветни области.
Важно е да се отбележи, че JPEG постига отличната
си компресия чрез загуба на информация. Това
става на две нива, които се усланят на несъвършенството
на човешкото око да разграничава цветовете
и преливните зони на изображенията. Първото
ниво намалява информацията, пазена за цветовете,
а второто намалява информацията за пикселите
в преходните области на изображението и обикновено
е достъпно за настройка от потребителя. По
тази причина JPEG не е подходящ за оригинали
на изображения.
Забележка: В demo версията на продукта може
да ползвате два от форматите, а именно JPEG
и BMP. |
|
| Съдържание ... |
|
Активиране на графичен запис
Двете базови версии на DB Manager позволяват
извеждане на графична информация само за
едно, избрано поле. При високите версии,
както и тези, които работят с векторна графика
съществува цял набор от независими функции,
които служат за визуализиране на 2D и 3D
графика. |
|
 |
|
| Фиг.1. Активиране на поле, съдържащо графично
изображение |
|
За да бъде изведена информацията съдържаща
се в поле за графична информация е нужно
преди всичко да изберем съответната колонка.
За целта е достатъчно да позиционираме маркера
върху нея така, както е показано на фиг.1
(за по-голяма яснота сме използвали класическият
пример на Borland, като сме маркирали колоната
в син цвят). Както вече бе споменато, графика
може да се съхранява в поле от тип GRAPHIC,
TYPEDBINARY и BLOB. Възможно е и съхраняване
на графични обекти, анимация и видеофайлове,
но към момента ще се ограничим единствено
с растерни изображения.
Типът на полето, съдържащо графично
изображение
е в пряка зависимост от типа
на таблицата,
която ползваме.
За да се активира извеждането
на графичното
изображение в съответният прозорец
на формата,
е достатъчно да позиционираме
маркера на
мишката върху съответния бутон
и да кликнем. |
|
 |
- |
Активиране извеждането на графична информация |
|
|
Ако в съответното поле нямаме записана информация,
на екрана няма да се изведе графика.
Ако
обаче има такава, то тя ще се
визуализира
в десния, горен прозорец на табличната
форма.
за да се стартира графичният
редактор е нужно
илидаизберем съответния
бутон
или да кликнем двукратно върху
изображението.
Във вторият случай ще се извърши
автоматично
прехвърляне на информацията,
съдържаща се
в съответното поле в графичниярт
редактор.
Този подход е добър в случаите,
когато е
нужно да запишем съдържанието
на въведените
в базата данни графични изображения
като
отделни файлове. |
|
 |
- |
Активиране на редактора за графична информация |
|
|
| При demo версията на продукта не може да
извършвате автоматично въвеждане в базата
на повече от едино растерно изображение.
Попълването на базата се извършва последователно.
Това ограничение има както недостатъци, така
и сериозни предимства. При някой бази от
данни имате наложени ограничения за размера
на таблиците (например в Paradox той е от
порядъка на 2 GByte). При други подобни ограничения
отсъстват. Все пак, когато се изграждат приложения
за internet е нужно да не забравяме,
че сме зависими от трафика в мрежата, както
и от броя на едновременно работещите потребители.
Последователното въвеждане на графични изображения,
формира своеобразна дисциплина в разработчиците
и ги принуждава да се съобразяват с размера
на въвежданата информация. |
|
| Съдържание ... |
|
Контролиране на цвета
Всяко едно изображение в базата
данни се
записва като Bitmap, независимо
от изходния
формат, в който е било създадено.
Всички битови изображения се
характеризират
с т.н. плоскости, които определят
цвета на
отделната точка (пиксел).
DB Manager предоставя възможност за преобразуване
на изображенията от цветни (RJB) в нюанси
на сивото (Grayscale). Подобен тип преобразувания
се налагат твърде често, когато се работи
със сканирани схеми или чертежи, но също
така масово се използват при художествената
фотография.
При черно-белите изображения, много от дефектите,
които са видими в цвят частично или напълно
изчезват. Този ефект може да бъде видян от
примерите на фиг.2 и 3. |
|
 |
|
| Фиг.2. Пълноцветно графично изображение |
|
За да изберем дали ще работим с пълноцветно
изображение или с черно-бяло
такова, е нужно
да зададем съответната стойност
в полето
Color Space. Посредством
падащото меню
може да бъдe избрано или RJB
(пълноцветно
изображение) или Grayscale.
Ако сме заредили цветно изображение,
то можем
да преминаваме в черно-бяло и
обратно, ако
обаче заредената графика е в
два основни
цвята, то тя няма как да бъде
преобразувана
в цветна.
Черно-белите изображения са по-компакти.
Това позволява да бъде намален
размерът на
таблицата като цяло. Освен това
в записите
се съдържа информация дали изображението
е картина, икона или курсор.
Цветните изображения използват
стандартна,трицветна
палитра както следва: червен,
зелен и син
цвят. Това налага битовете на
изображението
да се записват директно, без
да се извършва
каквато и да било компресия.
Ако имате десет файла във формат
JPEG с
обща дължина от 1 MByte, то след
записването
им в базата данни в резултат
на упоменатите
ограничения, размерът на таблицата
като цяло
ще се увеличи с много повече
от 1 MByte.
Ако обаче записвате черно бели
изображения
то увеличението ще е много по-малко.
Все пак всеки един случай е строго
специфичен
и крайните решения остават в
ръцете на разработчиците.
Забележка:: Промяната в цветността
се отразява
непосредствено върху записите
в базата данни. |
|
 |
|
| Фиг.3. Черно-бяло графично изображение |
|
| Съдържание ... |
|
Мащабиране
Мащабирането е възможност да намалим или
увеличим избраното графично изображение.
При demo версията на DBManager
се използват
само четири степени на намаляване
на растерните
изображения, както следва:
- Full Size - оригинален размер на изображението.
- Half - изображението е намалено с 50%.
- Quater - изображението е намалено до 25%
от първоначалното.
- Eight - една осма от първоначалното изображение,
При мащабирането на растерни изображения
на практика не губите от тяхното качество,
защото записът в базата данни не се променя.
Целта на мащабирането е да се получи цялостен
поглед върху това, което се записва. Все
пак DB Manager не е графичен редактор и неговото
предназначение е да осигури съхраняване на
предварително генерирана информация в компактен
вид. Ако все пак обаче от съображение за
намаляване размерът на базите или последващо
използване в internet на изображенията желаете
да ги запишите в по-малък размер, то това
се постига посредством използване на специализираните
функции, включващи кадриране, цифрова филтрация,
намаляване или увеличаване на изображенията
и др. при по-високите версии на продукта. |
|
|
 |
|
| Фиг.4. Мащабиране на графично изображение |
|
|
Пример:
Нека записваме група от дигитални фотографии
в таблица, която условно ще наречем Nature.db.
Всяко едно от изображенията е пълноцветно,форматJPEG,
с размери 1200Х2040 пиксела. Независимо колко
пъти са намалявани за да бъдат разгледани
на екрана, то в съответното поле на таблицата
(нека това да е полето Photos, с формат BLOB),
всяко едно от растерните изображения, ако
не бъде указано друго ще се съхраняват с
изходните си размери, а именно 1200Х2040
пиксела. |
|
| Съдържание ... |
|
Организация на видеопаметта
Съществуват два начина на организиране
на
видеопаметта. При първия изображението
се
"разбива" на цветови
плоскости
(битовиплоскости - bitplanes).
При втория
- всеки пиксел се кодира с един
или няколко
байта.
Един от основните формати за
кодиране на
битови изображения в Microsft
Windows е BMP.
Макар да е претърпял редица изменения,
някой
от елементите са се запазили.
При BMP формата е прието първият байт да
определя дали изображението представлява
икона, картина или курсор. Самата структура
на Bitmap се състои от следните, основни
елементи:
- Тип на битовия образ
- Ширина в пиксели
- Височина в пиксели
- Ширина в байтове
- Брой на битовите плоскости
- Битове на писксел
Всеки един Bitmap файл съдържа така указаните
елементи.
DIB (Device Independent Bitmap),
апаратно
независимият образ се появява
за първи път
в Windows 3.x, като идеята е
да се избегнат
недостатъците на BMP. Основното
различие
между класическата версия на
формата и неговата
производна е кодирането на цвета
в една плоскост.
Броят на използваните цветове
се записва
в полето biBitCount на структурата
BITMAPINFORHEADER.
При пшълноцветните изображения
таблицата
на цветовете е празна, а цветът
на пиксела
се определя от пакет от три байта,
описващи
цветовите интензитети на червеното,
зеленото
и синьото (RGB).
Освен така изброените основни елементи на
Bitmap файловете може да срещнете още biCompression
(тип на компресия), biClrUsed (брой цветове,
използвани в битовите изображения), biCrlImportant
(брой на основните цветове) и т.н.
Важно е да се знае, че независимо от това
какъв формат се използва като изходен, всички
изображения записани в графичните полета
на DBManager (изключваме BLOB) ще бъдат съхранявани
под формата на Bitmap изображения с всички
предимства и недостатъци на подобен подход.
Пример:
JPEG има две цветови схеми: 24-битова (16'777'216
цвята) и 8-битова grayscale (256 нива на
сивото) . |
|
 |
|
| Фиг.4. Дълбочина на пиксела при JPEG растерни
графики |
|
| Съдържание ... |
|
Параметри на изображението
Тъй като DB Manager не е графичен редактор,
а и темата е извън обхвата на настоящите
разглеждания, ще се ограничим само в някои
от основните опции, включени в стандартните
версии на редактора.
- Incremental Display се активира тогава, когато
размерът на изображението е прекалено голям.
В този случай се извършва поетапно извеждане
на растерната графика, като на монитора се
изобразява това, което е въведено във видеопаметта.
По този начин можем да бъдем сигурни, че
не е настъпило нерегламентирано прекъсване.
Ако тази опция бъде изключена съдържанието
на графичният файл ще се изведе едва след
акто изцяло е бил прехвърлен към видеоконтролера.
- Прието е Incremental Display да се използва
и в случаите, когато едновременно протичат
няколко процеса
- Функцията Stretch се използва, когато желаем
изображението да се извежда в рамките на
активната зона. В този случай ширината и
височината на растерната графика няма да
съответстват на реалните, а ще бъдат равни
на параметрите на работната област. При промяна
на размерите на формата се променят и размерите
на графиката, но ширината и височината са
независими една от друга, т.е. промените
няма да бъдат пропорционални. С помощта на
тази функция можем да извършваме разширяване
или свиване на образа. Функцията е обвързана
със стойността на Auto Size (автоматичен
размер).
- Центрирането на изображението спрямо работното
поле на формата се използва в случаите, когато
имаме относително малки по размер растерни
графики за постигане на по-добра пригледност.
- Изглаждането (Smoothing) се използва само
в тези случаи, когато е активиран Progressive
Display и обработваме JPEG файлове. Тази
хункция ни позволява да получим по-плавни
преходи (посредством апроксимиране) в гранницата
между два раззлични цвята.
- Важно е да се отбележи, че JPEG постига отличната
си компресия чрез загуба на информация. Това
става на две нива, които се усланят на несъвършенството
на човешкото око да разграничава цветовете
и преливните зони на изображенията. Първото
ниво намалява информацията, пазена за цветовете,
а второто намалява информацията за пикселите
в преходните области на изображението и обикновено
е достъпно за настройка от потребителя. По
тази причина JPEG не е подходящ за оригинали
на изображения.
Забележка: JPEG форматът не позволява използване
на функциите за прозрачност на графичното
изображение. |
|
 |
|
| Фиг.5. Задаване на прозрачност |
|
| Съдържание ... |
|
SVG (Scalable Vector Graphics)
Както вече бе споменато XML се налага в света
на данните, най-вече заради простия начин,
по който организира данните. Много схеми
за данни бяха разработени с XML - схеми за
съхраняване и показване на математическа
информация (MathML), общи описания на ресурсите
(RDF) и дори химическа информация (CML).
Този метод за организиране на информацията
се превръща в основа на SVG.
SVG предоставя структура за дефиниране на
растерни/векторни графики в XML формат. В
тази спецификация са включени дефиниции за
създаване на анимация, скриптове за events
и възможност за промяна на документи.
Възможността за създаване на векторни графични
елементи е ядрото на SVG. SVG предлага възможност
да се създават анимации към всеки обект и
позволява да се създават скриптове посредством
DOM, JavaScript, ECMAScript или всеки друг
език, който се поддържа от SVG viewer. Разработчиците
разполагат с много основни елементи, сред
които такива за създаване на кръгове, правоъгълници,
линии, елипси, многоъгълници и текст. В пълно
съответствие с наложилият се HTML, елементите
се оформят посредством Cascading Style Sheets
(CSS2) или директно чрез атрибута за стил.
Понастоящем се предлагат много SVG viewers
(програми, чрез които се гледа SVG) и редактори,
чрез които могат да се създават и разглеждат
SVG документи. Компаниите, които поддържат
SVG на различни нива са: Adobe, JASC, Corel,
Sun и IBM.
Пример:
Нека разгледаме SVG файл, изчертаващ червен
кръг:
1: <?xml version="1.0" encoding="UTF-8"
standalone="no"?>
2: <!DOCTYPE svg PUBLIC "-//W3C//DTD
SVG 1.0//EN"
3: "http://www.w3.org/TR/SVG/DTD/svg10.dtd">
4: <svg xmlns="http://www.w3.org/2000/svg">
5: <title>Circle</title>
6: <circle cx="100" cy="100" r="50" stroke="red" stroke-width="2px" fill="none"/>
7: </svg>
Ще забележите, че първият ред е XML декларацията,
на втория и третия e SVG DOCTYPE декларацията.
Ред 4 е главният елемент на SVG. В този елемент
ще откриете поделемент за заглавието (<title>) и елемент за кръга (<circle>). Чрез елемента кръг задаваме местоположението
на центъра на кръга чрез cx и cy атрибутите, и радиуса на кръга - чрез атрибута
r. Оставащите атрибути задават очертанието
около кръга, неговия цвят и цвета на заливката
(fill), който в случая липсва ("none").
Към SVG могат да се добавят и други елементи,
които увеличават ползата от него. Чрез елемента
image могат да се вмъкват bitmap изображения
във формат PNG, GIF и JPG. Чрез SVG схемата
можете да дефинирате свои собствени шрифтове
и дори да прикрепяте текст към определен
контур. Всички атрибути асоциирани с тези
елементи могат да бъдат анимирани чрез скриптове
или чрез елемента animate.
Повече информация за приложението на SVG
може да намерите в текущите публикации на
нашия сайт.
Версията Gnosys осигурява пълна
поддръжка
на SVG стандарта, като в нея
са включени
специализирани редактори за 2D
и 3D графика. |
|
| Съдържание ... |
|
|
|