Тегло и оптимизация на графичните файлове
02 февруари 2005 г.

Тегло и оптимизация. Обясняваме как да изчислим теглото на графичен файл, както и как да намалим размера в байтове на графичен файл. Примери за техники, използвани за оптимизиране на теглото на изображенията.
В тази статия ще разгледаме няколко основни аспекта, които трябва да вземем предвид при работа с графични файлове като цяло и по-специално с растерни изображения. Става въпрос за контролиране на теглото на файловете, така че те да заемат по-малко място и следователно да бъдат прехвърлени по-бързо.
Това е въпрос от жизненоважно значение в мрежата и в DesarrolloWeb.com сме разглеждали този проблем няколко пъти. В това ръководство за уеб дизайн ще го намерите от по-теоретичен подход, но с основни познания за всички, които са посветени на уеб дизайна.
Ще започнем, като говорим за теглото на файловете и след това ще видим по какви начини те могат да бъдат оптимизирани.
Тегло на графичните файлове
Растерните изображения могат да бъдат дефинирани в променлив брой цветове. Като общо правило, колкото повече цветове има изображението, толкова по-високо качество ще има, въпреки че това правило зависи много от самото изображение.
Например, черна буква на бял фон (1 битова дълбочина на цвета), съставена от прави хоризонтални и вертикални линии, ще се нуждае само от тези два цвята, за да се покаже правилно, дори ако увеличим техния размер (резолюция).
Ако работим с дълбочина на цвета 8 бита, ще имаме 256 възможни цвята за всеки пиксел (в случай на икони или илюстрации в GIF формат, например) и ако увеличим дълбочината до 24 бита, ще имаме милиони цветове за всеки пиксел на изображението (например за снимки в JPG или PNG формат).
Също така можем да дефинираме различни разделителни способности за изображение. Колкото по-висока е разделителната способност, толкова повече пиксели ще образува изображението, толкова повече информационни данни ще му трябват и следователно, толкова по-голям е размерът на получения файл.
Следователно, колкото повече цветове има изображението и колкото по-висока е неговата разделителна способност, толкова по-голямо е теглото на файла, необходимо за неговото съхраняване.
В горната формула ширината и височината са дадени в инчове, разделителната способност в пиксели на инч и дълбочината на цвета в байтове.
За изображение от 3 x 2 инча с резолюция 72 dpi и с дълбочина на цвета 8 бита, например, ще имаме:
Размер на файла = [[(3 x 72) x (2 x 72)] x 8]/8 = 31104 байта = 31 Kb
Ако размерите на изображението са в сантиметри, просто ги разделете на 2,54. По този начин 1 x 1-инчово изображение с разделителна способност 300 dpi и с дълбочина на цвета 24 бита (истински цвят) ще има тегло от: съдържа общо 90 000 пиксела.
Размер на файла = [[(1 x 300)/2,54 x (1 x 300)/2,54] x 24]/8 = 41850 байта = 419 Kb
Ако работим директно с пиксели (например заснемане с цифров фотоапарат), ще бъде достатъчно да умножим размерите на изображението помежду си и по дълбочината на цвета в битове, за да определим количеството битове, присъстващи във файл с изображение, и разделяйки резултата между 8, ще имаме теглото на файла в байтове.
Както виждаме, получените тегла са много високи, особено в случай на изображения, предназначени за Интернет, където честотната лента е ограничен ресурс.
Оптимизация на графични файлове
По принцип файловете с растерни изображения трябва да съхраняват много графична информация, което прави крайното им тегло в байтове прекомерно, както за печат (ако изображението е много голямо, процесът на печат може да отнеме много време), така и за неговото прехвърляне през Интернет, среда, в която честотната лента е много ограничена.
За да се сведе до минимум теглото на графичните файлове, са разработени различни техники за оптимизация, базирани на два различни принципа:
- Намалете броя на цветовете, използвани в изображението.
- Компресирайте данните на изображението, за да заемете по-малко място.
Намаляване на цвета (дитеринг)
Принципът на затъмняване се основава на намаляване на броя на цветовете, използвани в изображението, като се има предвид, че в повечето случаи се използва твърде много графична информация във файл, информация, която може да бъде елиминирана без значителни загуби в крайното качество на изображението.
Ако дадено изображение използва само 40 цвята, за да се намали размерът на файла му би било достатъчно да се дефинират 40 цвята с помощта на цветна палитра, след което точките на изображението да се запазят с дълбочина 8 бита.
От друга страна, изображение, което използва 256 цвята, може да има приемливо качество по отношение на същото изображение с 16,8 милиона цвята, което е три пъти по-малко по размер. За да получите цвят, който не присъства в 256-цветната палитра на изображението, винаги е възможно да смесите тези, които са, постигайки в повечето случаи добро сближаване с необходимото.
Техниката на дитериране ще отговаря за изчисляването на пропорцията, с която цветовете на палитрата трябва да се смесват, за да се получат други.
За да се получи определен цветен тон, се използват няколко точки, които имат цвят, много близък до този, който желаете да постигнете. Когато гледате изображението от определено разстояние, цветът на съседните точки се смесва, пораждайки илюзията за нови цветови нюанси.
Тази система за оптимизация за намаляване на цветовете се използва например във формат GIF.
Намаляване на данните (компресия)
Компресията е техника, която позволява намаляване на размера на файл чрез математически процеси, като по този начин улеснява тяхното прехвърляне по мрежата или съхранението им на който и да е друг носител.