Главно меню
Основни графични формати
Активиране на графичен запис
Контролиране на цвета
Мащабиране
Организация на видеопаметта
Параметри на изображението
SVG (Scalable Vector Graphics)
Версия за печат
Основни раздели
Основни графични формати

Най-общо графичните формати могат да бъдат разделени на две основни групи, а именно: векторни и растерни.
Векторните формати са характерни за 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 графика.
Съдържание ...
Copyright © 2003 -2006 G-System Group
* JPEG - Joint Photographic Experts Group
* TIFF  - Tag Image File Format
* SVG - Scalable Vector Graphics
office@g-92.com
support@g-92.com