Реферат по предмету "Информатика, программирование"


Растрові та векторні формати зображень

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Бердичівський політехнічний коледж
 
 
 
 
 
 
 
КОНТРОЛЬНА РОБОТА
з предмету “Комп’ютерна графіка”
(варіант №15)
 
 
 
 
Виконав:
студент групи ПЗС-504
Томашов О.В.
 
Перевірив викладач:
Козік В.Ю.
 
 
 
 
 
 
м. Бердичів
2007 р.

1. Растровіформати зображень
 
Растрові формати служать для опису растрової графічноїінформації. Кожен окремий піксел зображення представляє самого себе, позазалежністю від його розташування й ролі, що він грає в рисунку. Найпоширенішимиз них є: tiff, bmp, pcx, gif, jpeg, png. Графічні компоненти всесвітньої мережіInternet у переважній більшості представлені останніми трьома форматами.
Роздільність файлів таких форматів, як GIF, JPEG, BMPзалежить від відеосистеми комп'ютера. У старих комп'ютерах Macintoshприходилося 72 піксела на дюйм екрана (екранна роздільність), для Windowsєдиного стандарту не склалося, але сьогодні найчастіше вживається значення 96пікселів на дюйм екрана. Однак тепер ці параметри стали досить умовними, томущо майже усі відеосистеми сучасних комп'ютерів дозволяють змінювати кількістьвідображуваних на екрані пікселів. Растрові файли, призначені для підготовкивидань до друку, мають, подібно більшості векторних форматів, параметр PrintSize — друкований розмір [94].
Растрові формати один від одного відрізняються наступнимивластивостями: колірними моделями, методами ущільнення, максимальним розміромзображення, який вони можуть забезпечити, шарами різних типів, наявністюAlpha-каналу або каналу плашкових (spot)-кольорів, можливістю здійснюватианімацію, наявністю черезрядкового розгорнення тощо. Деякі характеристикипопулярних растрових форматів наведено у таблиці 6.1.
/>
/>
Формат BMP
Формат BMP (від слова bitmap) широко використовується в ОСWindows для растрової графіки. Наприклад, якщо вам потрібно створити тло вашогоробочого столу, то необхідно записати відповідне зображення в цьому форматі.
Загальна структура BMP-файлу така:
/>
Заголовок файлу BMP називається BITMAPFILEHEADER. У ньомуміститься загальний опис файлу. Заголовок має такі поля, наведені в таблиці6.2.

/>
Далі у файлі йде ще один заголовок — BITMAPINFOHEADER, уякому зберігається опис розмірів растра й колірного формату пікселів (табл.6.3).
/>
Потім у файлі міститься палітра у вигляді декількох записівRGBQUAD. Кожен запис містить чотири поля (табл. 6.4).
/>
Кількість записів RGBQUAD дорівнює кількостівикористовуваних кольорів.
Палітра відсутня, якщо число бітів на піксел дорівнює 24.Також палітра не потрібна й для деяких колірних форматів 16 і 32 біти напіксел.
Після палітри (якщо вона є) у файлі BMP записується растр увигляді бітового (а точніше, байтового масиву). У бітовому масиві послідовнозаписуються байти рядків растра. Кількість байтів у рядку повинна бути кратначотирьом, через це, якщо кількість пікселів по горизонталі не відповідає такійумові, то праворуч у кожен рядок дописується певна кількість бітів(вирівнювання рядків на межу подвійного слова).
Можна сказати, що файли BMP мають найбільший розмірпорівняно з файлами інших растрових форматів. Растр тут зберігається майже втому вигляді (якщо не враховувати вирівнювання рядків на довжину, кратну 4байтам), в якому він записується в оперативну пам'ять для відображення таобробки. Зазвичай програми так і записують файли BMP, хоча в цьому форматіпередбачене ущільнення, (компресія, compressing, англ.) растра методом RLE.BMP-файли з компресією можуть мати розширення DIB або RLE.
Існує різновид формату BMP для операційної системи OS/2.
Формат Bitmap32
Це порівняно новий формат, створений на базі формату BMP,від котрого відрізняється тим, що дані про одну точку зберігаються не в 24, а в32 бітах. Додаткові 8 бітів використовуються для Alpha-каналу. Формат доки щоне одержав поширення, але після появи Windows XP, де Alpha-канал був узаконенийна рівні ядра системи, формат отримав гарні перспективи на майбутнє.
Отже, для розроблювана цей формат зручний, насамперед,через збереження додаткової складової прозорості, яка зберігається усерединіфайлу з текстурою.
Формат PCX
Формат PCX запропонований компанією Z-Soft у програміPaintbrush. Може бути використаний на платформі Macintosh, хоча був написанийдля PC. Цей формат застосовувався багатьма компаніями, що спеціалізуються вобласті програмного забезпечення. Він зручний для зберігання зображень типуділової графіки (креслення, діаграми, схеми тощо). Підтримуються колірніформати 1, 4, 8 та 24 біти на піксел. До недоліків PCX слід віднестинепристосованість до запису фотографій, а також наявність численних версій.
У форматі PCX використаний один із варіантів алгоритмуущільнення RLE (від англійського Run Length Encoding — групове кодування).
RLE — один із найстаріших і найпростіших алгоритмівкомпресії графіки. Основна його ідея така: якщо в рядках растра зустрічаютьсяланцюжки з однакових пікселів, наприклад,
/>
то можна замінити ланцюжки на пари чисел — (лічильникповторень, значення). Для окремих пікселів, що не входять до ланцюжків,лічильник не потрібен:
/>
Чим більше ланцюжків у растрі та чим вони довші, тимбільший ефект ущільнення.
Як програма може прочитати код RLE? Потрібно якосьрозрізнювати лічильник та значення. Для цього необхідне спеціальне кодування. Уверсії RLE для PCX ознакою лічильника служать одиниці у двох лівих бітах(llxxxxxx) поточного байта кодованого масиву. Відповідно 6 бітів, щозалишилися, означають кількість повторів у ланцюжку (від 1 до 63) наступного залічильником значущого байта. Таким чином, рядок із 63 повторюваних байтівперетворюється у два байти, тобто, для таких ланцюжків досягається ущільненнямайже в 32 рази.
Окремі байти растра, що не утворюють ланцюжків, кодуютьсядвома способами, в залежності від їхнього значення. Якщо два лівих біти неодиниці, то байт кодується одним власним значенням. Окремі байти виду llxxxxxxдоводиться кодувати парою байтів (лічильник повторень, значення), причомулічильник тут дорівнює одиниці:
/>
Спосіб кодування, прийнятий у форматі PCX, можна вважатипевним компромісом між максимальною довжиною ланцюжка та вірогідністю кодуванняокремих байтів двома байтами. Так, довжина ланцюжка обмежена 63, алевірогідність наявності у растрі окремих байтів виду 11xxxxxx становить 1/4.Якщо б ознакою лічильника був тільки один лівий біт (lxxxxxxx), то можна було бкодувати вдвічі довші ланцюжки, але окремих значущих байтів виду lxxxxxxx вжеможе бути вдвічі більше, ніж llxxxxxx.
Таким чином, для растра, який містить неповторювані байтивиду llxxxxxx, алгоритм RLE дасть зворотний результат — замість ущільнення будезбільшення (до двох разів). Це часто спостерігається при застосуванні груповогокодування до кольорових фотографій, особливо типу 24 біти на піксел. Зазвичайпрограми, що використовують цей алгоритм ущільнення (наприклад, програма PCPaintbrush), при виникненні такої ситуації записують графічні дані у формат PCXне ущільненими.
Важливим моментом для кодування 256-колірних зображень єправильний вибір палітри. Якщо індекси llxxxxxx надано кольорам, які рідкозустрічаються в даному растрі, то вірогідність заміни одного байта двомаменшає.

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 orPFD_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.        Мережа Інтернет.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :