2. Векторні формати зображень

Ці графічні формати служать для збережених зображень у вигляді сукупності геометричних примітивів — ліній, дуг, прямокутників, еліпсів тощо. Графічні формати цього типу складаються або зі списку примітивів, або містять у собі набір інструкцій, команд для побудови примітивів. Не виключається й комбінація цих способів. У векторному вигляді зберігають інформацію системи автоматизованого проектування, наприклад, AutoCAD, програми, що створюють ілюстративну графіку, такі як CorelDraw. Векторні плоттери обробляють зображення тільки у векторних форматах. Векторні формати можуть містити або впроваджені у файл растрові об'єкти, або посилання на растровий файл (технологія ОРІ).

Векторні зображення зустрічаються в Інтернеті не дуже часто, хоча зараз досить швидко поширюється формат Shockwave Flash фірми Macromedia. Цей формат спеціально розроблявся для використання в Інтернеті, він здатний зберігати гіпертекстові посилання, графіку, анімацію тощо. Для перегляду Flash-графіки потрібний спеціальний програмний модуль, який вільно поширює фірма Macromedia.

При передачі даних з одного векторного формату в іншій, виникають ускладнення, пов'язані з використанням програмами різних описів графічних примітивів, різних алгоритмів при побудові векторних об'єктів і опису растрів. Фірмою Aldus розроблена технологія ОРІ (Open Prepress Interface), яка дозволяє імпортувати замість оригінальних файлів їхні образи, створюючи в програмі лише копію низької роздільності (ескіз) і посилання на оригінал. У процесі друку на принтері ескізи замінюються на оригінальні файли. Застосування ОРІ дає можливість заощаджувати ресурси комп'ютера (насамперед, пам'ять) і підвищувати його продуктивність. ОРІ широко використовується при роботі з імпортованими графічними файлами, зокрема, у програмах FreeHand і QuarkXPress [94].


Формат DXF

Формат DXF (Drawing Exchange Format) розроблено фірмою AutoDesk у 1982 році для обміну кресленнями та іншими графічними документами в середовищі AutoCAD. Незважаючи на вік цього формату та його недоліки, DXF зараз підтримується багатьма програмами як формат обміну даними.

Файл DXF складається з пар

<код групи>

<команда>

Код групи пояснює те, що міститься в наступному рядку. Наприклад, послідовність пар

0 (означає початок нового елементу) LINE

10 (далі буде значення першої координати X) 12.354

20 (перша координата Y) -34

11 (наступна координата X) 23.08

21 (наступна координата Y) 5.7

визначає лінію.

Наведемо декілька кодів групи (табл. 6.21).

Загальна структура файлу DXF така:

Кожна секція описується так:

Головним недоліком формату DXF можна вважати великий об'єм файлів. У середовищі системи AutoCAD для роботи з документами використовується більш компактний формат — DWG, однак він є внутрішнім форматом, його не розуміють інші програми.

Формат MIF-MID

Тут ми дещо відхилимося від тематики "класичної комп'ютерної графіки" й розглянемо приклад векторного формату, який використовується в геоінформаційних системах (ГІС). Ці системи описують просторові об'єкти сукупністю метричних та атрибутивних (семантичних) даних. Формат MIF-MID є найпопулярнішим векторним форматом обміну даними для ГІС. Він розроблений фірмою MapInfo для власної ГІС, однак зараз використовується майже усіма ГІС як формат експорту-імпорту.

Опис просторових об'єктів у цьому форматі складається з двох файлів — *.MIF та *.МID. Файл із розширенням MIF містить загальний опис та координати вузлових точок об'єктів. Об'єкти можуть бути точковими, лінійними або площинними. Графічні примітиви: Arc, Ellipse, Line, Pline, Point, Rect, Region, Roundrect та Text.

Кольори та стилі показу об'єктів позначаються записами Brash, Pen та Symbol.

Заголовок файлу MIF містить таку інформацію:

• версія формату;

• кодова сторінка для символів;

• символ-роздільник для файлу MID;

• опис системи координат;

• кількість та формат стовпців таблиці атрибутів.

У файл MID (не плутати з файлами формату MIDI) записується таблиця атрибутивних даних. Один рядок файлу містить атрибути відповідного об'єкта, розділені спеціальним символом-роздільником (найчастіше комою).

Файли MIF та MID є текстовими файлами ASCII.

Розглянемо приклад опису об`єктів. На рис. 6.17 показано сім простеньких об'єктів.

Тут маємо два точкових об'єкти ("пункті" та "пункт2"), позначених умовними знаками — прапорець та зірка. Три лінійних об'єкти — лінія, полілінія (3 вузли) та мультиполілінія (декілька поліліній). Два площинних об'єкти — чотирикутник та регіон. Регіон тут у вигляді двох островів, один з яких із отвором. Для об'єктів записані атрибутивні дані у відповідних рядках таблиці.

Тепер надамо опис цих об'єктів у файлах MIF, MID. Зміст файлу MIF:


3. Засобами бібліотеки Opengl забезпечити зміну кольору створеного трикутника при подвійному натисненні лівої кнопки миші

(мал. №1 )

(мал. №2 )

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

OpenGL;

type

TfrmGL = class(TForm)

procedure FormCreate(Sender: TObject);

procedure FormPaint(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure FormKeyPress(Sender: TObject; var Key: Char);

private

hrc: HGLRC;

h : GLfloat;

end;

var

frmGL: TfrmGL;

Vert:array[1..6,1..10] of GLfloat;

mx,my:byte; //коефіцієнти збільшення/зменшення

implementation

{$R *.DFM}

procedure TfrmGL.FormPaint(Sender: TObject);

begin

wglMakeCurrent(Canvas.Handle, hrc);

glViewPort (0, 0, ClientWidth, ClientHeight);

glClearColor (0.5, 0.5, 0.75, 1.0);

glClear (GL_COLOR_BUFFER_BIT);

glColor3f (2.0, 0.0, 0.8); // текущий цвет примитивов

glBegin (GL_TRIANGLES);

glVertex3f (-1, -1, h);

glVertex3f (-1, 1, h);

glVertex3f (1, 0, h);

glEnd;

SwapBuffers(Canvas.Handle); // содержимое буфера - на экран

wglMakeCurrent(0, 0);

end;

procedure SetDCPixelFormat (hdc : HDC);

var

pfd : TPixelFormatDescriptor;

nPixelFormat : Integer;

begin

FillChar (pfd, SizeOf (pfd), 0);

pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;

nPixelFormat := ChoosePixelFormat (hdc, @pfd);

SetPixelFormat (hdc, nPixelFormat, @pfd);

end;

procedure TfrmGL.FormCreate(Sender: TObject);

begin

SetDCPixelFormat(Canvas.Handle);

hrc := wglCreateContext(Canvas.Handle);

h := 0.0;

end;

procedure TfrmGL.FormDestroy(Sender: TObject);

begin

wglDeleteContext(hrc);

end;

procedure TfrmGL.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

If Key = VK_ESCAPE then Close;

If Key = VK_SPACE then

begin

If ssShift in Shift

then h := h + 1

else h := h - 1;

Caption := Floattostr (h);

Refresh

end;

end;

procedure TfrmGL.FormKeyPress(Sender: TObject; var Key: Char);

begin

if key = '-' then mx:=mx+1;

if key = '+' then mx:=mx-1;

FormPaint(Sender);

end;

end.

4. Для попереднього практичного завдання вашого варіанту забезпечити операцію маштабування використовуючи клавіши + та -.

Потім для точного виконання завдання виконати слідуючий алгоритм дій при цьому використати згідно варіанту клавіші «+» та «-», що по умові завдання виконують наближення та відділення фігури на фоні:

procedure TfrmGL.FormKeyPress(Sender: TObject; var Key: Char);

begin

if key = '-' then mx:=mx+1;

if key = '+' then mx:=mx-1;

InvalidateRect(Handle, nil, False);

end;

end.


Список використаної літератури:

 

1.         С.В.Глушаков, Г.А.Крабе Компютерная графика, Харьков 2002

2.         Блінова Т.О., Порєв В.М. Комп’ютерна графіка / За ред. В.М.Горєва. – К.: Видавництво “Юніор”, 2004.

3.         OpenGl, технология ставшая символов, Учебник в примерах.

4.         Конспект лекцій.

5.         Мережа Інтернет.


Информация о работе «Растрові та векторні формати зображень»
Раздел: Информатика, программирование
Количество знаков с пробелами: 14628
Количество таблиц: 0
Количество изображений: 7

Похожие работы

Скачать
57688
5
5

... і господарства і ін. Найпоширенішими є учбово-виробничі майстерні. В таблиці 1.5 представлений перелік необхідних майстерних, кабінетів і лабораторій, які необхідні для вивчення теми: «Векторний графічний редактор Corel Draw» Таблиця 1.5 – Перелік необхідних майстерень, кабінетів і лабораторій по предметах професійно-технічного циклу. Кабінети Лабораторії 1. Основ програмування. 2. ...

Скачать
17547
0
2

... використовують цей формат. Формат X Формат X— це "рідний" формат DirectX для тривимірних моделей. Він використовувався тільки Direct3D:RM, але й Direct3D:IM можна було "примусити" працювати з цим форматом. Direct3D:Retained Mode (Direct3D:RM) — це набір АРІ, створений для легшого програмування тривимірної графіки (порівняно з більш низькорівневим Direct3D:Immediate Mode (Direct3D:IM), на ...

Скачать
4246
0
3

... і Інтернету. Ця версія оптимізована для використання з новітніми операційними системами Windows і продовжує традиції розвитку професійних графічних пакетів для ПК. 3. Способи та процеси векторної трасировки растрових зображень в Corel Drow Взагалі, якщо отримати інструмент для переведення вектора в растр (трасування) без втрат якості – це була б казка! Це вічна проблема пакету Corel Drow, ...

Скачать
139853
0
2

... ів» (Tools Palette), яка дозволяє (як у PageMaker) переключатися між виділеними рамками та редагувати їх вміст. При запуску програми ця панель не з’являється і її потрібно спеціально викликати із меню «Графика» (Graphics) — погодьтесь, це досить неочікуване місце для цієї команди. Програма підтримує тільки один рівень відкату, у той час як багато інших пакетів підтримують до ста таких рівнів. ...

0 комментариев


Наверх