Негізгі мазмұнға өту

Файл форматтары

GIF дегеніміз не? 256 түс, анимация және LZW қысуы

GIF 1987 жылдан бері бар: 256 түспен шектелген, бірақ анимацияның арқасында әлі тірі. Оның қалай жұмыс істейтінін, неге үлкен файлдар беретінін және қашан басқа форматты таңдау керегін түсіндіреміз.

Автор: Hemen Dönüştür Editör EkibiЖарияланды: 6 мин оқу

GIF форматы туралы нұсқаулықтың мұқаба суреті

GIF (Graphics Interchange Format) вебтегі ең ескі сурет форматтарының бірі. Ол әлдеқашан фотосуреттерде JPG-ге, графикада PNG-ге орын берді, бірақ қысқа, қайталанатын анимациялар туралы сөз болғанда әлі де бірінші ойға келеді. Бұл мақалада GIF-тің қалай басталғаны, қысуы мен анимациясы қалай жұмыс істейтіні, 256 түс шегі шын мәнінде нені білдіретіні және оның орнына қандай форматтарды қарастыруға болатыны түсіндіріледі.

Қысқаша тарих

GIF-ті сол кездегі ірі онлайн қызметтердің бірі CompuServe әзірледі. Ұлыбритания Ұлттық мұрағатының PRONOM тізілімі бойынша алғашқы нұсқа GIF87a 1987 жылғы 15 маусымда шықты. Келесі нұсқа GIF89a өз атауын 1989 жылдан алады; PRONOM тізімдеген және W3C орналастырған спецификация мәтіні 1990 жылғы 31 шілдемен белгіленген. 89a кадр кідірісін, мөлдірлікті және тазалау әдісін анықтайтын Graphic Control Extension кеңейтімін, сондай-ақ түсініктеме, қарапайым мәтін және қосымша кеңейтімдерін қосты. Бүгінгі анимациялы GIF-тер осы кеңейтімдерге негізделген.

GIF тарихының ең белгілі тарауы патент дауы. GIF Unisys патенттеген LZW алгоритмімен қысылады. Library of Congress формат сипаттамасына сәйкес, GIF 1994 жылы Unisys LZW лицензиясы үшін төлем ала бастағанда даңқы шықты. Бұл патентсіз балама ретінде PNG-тің әзірленуіне әкелді. Сол дереккөз бойынша Unisys-тің АҚШ патентінің мерзімі 2003 жылдың маусымында, ал еуропалық және жапондық патенттердің мерзімі 2004 жылдың маусымында аяқталды, сондықтан бүгін GIF қолдану үшін лицензия керек емес.

GIF қалай жұмыс істейді

Палитра және 256 түс шегі

GIF әр пиксельдің түсін тікелей сақтамайды; ол түстер кестесіндегі (палитрадағы) индексті сақтайды. Спецификация бойынша түстер кестесінде ең көбі 256 элемент болады, әрқайсысы 24 биттік RGB түсі. Ғаламдық кесте бүкіл файлға қолданыла алады, ал әр кадрдың өз жергілікті кестесі де болуы мүмкін. Түсі аз логотиптер мен иллюстрациялар бұл шекке оңай сыяды, ал мыңдаған реңкі бар фотосуреттер 256 түске дейін азайтылғанда жолақтар не дизеринг өрнектері пайда болады.

LZW қысуы

Пиксель индекстері айнымалы ұзындықты кодтарды қолданатын LZW арқылы шығынсыз қысылады; спецификация кодтардың 12 битке дейін өсуіне рұқсат береді. LZW қайталанатын пиксель тізбектерін сөздікке қосу арқылы жұмыс істейді, сондықтан ол тұтас түсті үлкен аймақтарда жақсы, ал шуы көп фотосуреттерде нашар нәтиже береді.

Мөлдірлік

GIF89a-да Graphic Control Extension палитраның бір түсін «мөлдір» деп белгілей алады. Бұл «бар не жоқ» (екілік) мөлдірлік: пиксель не толық көрінеді, не толық мөлдір. Сондықтан GIF-те жартылай мөлдір көлеңкелер мен жұмсақ жиектер тісті болып көрінеді, ал түрлі түсті фонда жиектердің айналасындағы ашық «гало» соншалық жиі кездесетін мәселе.

Анимация

Анимациялы GIF бір файлдағы кадрлар тізбегі. Әр кадрдың Graphic Control Extension кеңейтімі оның экранда секундтың жүзден бір бөлігімен қанша тұратынын және келесі кадр алдында оның аймағы қалай тазаланатынын белгілейді. Қайталау ақпараты қосымша кеңейтімде сақталады. Міндетті емес кезектестіру суретті жүктелу кезінде біртіндеп көрсетуге мүмкіндік береді.

Кадрды тазалау әдістері

Спецификация кадр көрсетілгеннен кейін оның аймағымен не істеу керегі үшін төрт мәнді анықтайды: тазалау көрсетілмеген, кадрды орнында қалдыру, аймақты фон түсіне қайтару және аймақты бұрынғы күйіне қайтару. Жақсы жасалған анимацияларда жаңа кадр ретінде тек өзгеретін аймақ жазылады, ал қалғаны алдыңғы кадрдан алынады, файлды шағын ұстайтын да осы. Сондықтан GIF-ті өңдейтін құралдар шикі кадрлармен жеке-жеке емес, осы ережелермен құрастырылған толық суреттермен жұмыс істеуі керек.

GIF қаншалықты кең қолданылады?

W3Techs-тің 2026 жылғы қазандағы деректері GIF-тің ол бақылайтын сайттардың 13,2%-ында қолданылатынын көрсетеді. HTTP Archive Web Almanac 2024 бойынша мобильді беттердегі суреттердің 16,8%-ы GIF; есепте сол GIF-тердің 32%-ы анимациялы екені айтылады. Сондай-ақ барлық сурет сұраныстарының шамамен 6%-ы 1x1 пиксельді суреттер екені атап өтіледі, олар көбінесе бақылау маяктары мен аралық GIF-тер болса керек, сондықтан GIF-тің жоғары үлесі тек анимациялардан келмейді.

Тиімділік жағынан GIF әлдеқайда артта. Сол есеп GIF медианасын пиксельге 6,7 бит деп көрсетеді, ал PNG-де бұл 3,8, JPEG-те 2,0 және WebP-те 1,3. Анимациялы GIF-терде медиана 32,6 битке дейін өседі, ал анимациясыз GIF-тер 3,5 битте қалады.

GIF-ті не алмастыра алады?

MDN сурет форматтары нұсқаулығы GIF-ті қарапайым суреттер мен анимациялар үшін жақсы таңдау деп санайды, бірақ шығынсыз және индекстелген қозғалмайтын суреттер үшін PNG-ті, ал анимация тізбектері үшін WebP, AVIF не APNG-ті ұсынады. Ұзақ анимациялар не нақты түсірілімнен жасалған анимациялар үшін бейне әлдеқайда тиімді: web.dev-тегі мысалда 3,7 МБ GIF MP4 ретінде 551 КБ-қа, ал WebM ретінде 341 КБ-қа дейін кішірейеді.

ҚажеттілікҰсыныс
Қозғалмайтын логотип, белгіше, тұтас түсті графикаPNG не SVG
Түсі аз қысқа анимация (мысалы, жүктелу белгісі)GIF, APNG не анимациялы WebP
Бейне түсірілімнен не экран жазбасынан жасалған анимацияДыбыссыз, қайталанатын MP4 не WebM бейнесі
Барлық жерде ойнауы тиіс анимация (пошта, мессенджерлер)GIF; әлі де ең кең үйлесімді формат

Пошта клиенттері мен кейбір мессенджерлер бейнені ойнатпайды не анимациялы WebP-ті көрсетпейді. GIF-тің отыз жылдан астам уақыт бойы өмір сүруінің нақты себебі де осы әмбебап үйлесімділік.

Жиі кездесетін мәселелер

GIF тым үлкен

Кадрлар саны, пиксель өлшемдері және қозғалыс көлемі файл өлшемін тікелей арттырады. Өлшемін кішірейту, кадрларды қию не қысқа бөлігін кесіп алу ең тиімді шешімдер; ұзақ клиптер үшін бейнеге көшкен дұрыс.

Түстер жолақты не нүктелі көрінеді

Бұл 256 түс шегінің табиғи салдары. Аспан не тері реңктері сияқты бірқалыпты градиенттер ең көп зардап шегеді. Фотоға ұқсас мазмұн үшін GIF-тің орнына JPG, WebP не бейне қолданыңыз.

Жиектердің айналасында ақ гало бар

Мөлдір GIF-тер жартылай мөлдір бола алмайтындықтан, ашық фонда дайындалған сурет қараңғы фонға қойылғанда жиектерінің аралық реңктері көрініп қалады. Жиектері жұмсақ мөлдір суреттер үшін PNG не WebP қолданыңыз.

Түрлендіруден кейін анимация тоқтады

PNG мен JPG анимация тасымалдамайды, сондықтан осы форматтардың біріне түрлендірілген анимациялы GIF-те тек бір кадр қалады.

GIF-пен жұмыс істеу бойынша кеңестер

  • Қозғалмайтын суретті алу үшін GIF-ті PNG-ге түрлендіріңіз. GIF-тің бірінші кадры мөлдірлігімен бірге шығынсыз PNG ретінде сақталады.
  • Анимациялы GIF өлшемін кішірейту үшін сурет өлшемін өзгерту құралын қолданыңыз. Анимациялы GIF-тер өлшемі өзгергенде барлық кадрын және олардың көрсетілу уақытын сақтайды (600 кадрға дейін).
  • Анимацияны қию үшін суретті қию құралы әр кадрға бірдей қиюды қолданып, кадр уақыттарын сақтайды.
  • Файл өлшемін азайту үшін суретті қысу құралы анимациялы GIF-терді барлық кадрымен GIF күйінде қалдырады, ал қозғалмайтын GIF-тер кішірек болуы үшін әдепкі бойынша WebP-ке түрлендіріледі.
  • Басқа суретті GIF-ке айналдыру үшін сурет түрлендіргішінде мақсатты формат ретінде GIF-ті таңдаңыз. Нәтиже 256 түске дейінгі бір кадр болады, ал жартылай мөлдір аймақтар «бар не жоқ» мөлдірлікке дейін азайтылады.
  • Мұның бәрі браузеріңізде орындалады, сондықтан файлдарыңыз құрылғыңыздан ешқашан шықпайды.

Жиі қойылатын сұрақтар

GIF шығынмен бе?

LZW қысуы шығынсыз. Бірақ толық түсті суретті GIF-ке түрлендіру оны 256 түске дейін азайтуды талап етеді, және шығын дәл осы түстерді азайту қадамында болады.

GIF пен анимациялы GIF арасында айырмашылық бар ма?

Формат бірдей. Бір кадры бар GIF қозғалмайды, ал бірнеше кадры бар GIF анимациялы. Кадр кідірістері мен қайталау ақпараты файл ішіндегі кеңейтімдерде сақталады.

GIF неге әлі қолданылады?

Себебі ол ешбір баптаусыз дерлік барлық жерде ойнайды: браузерлерде, пошта клиенттерінде, чат қосымшаларында және ескі бағдарламаларда. Тиімдірек баламалар әзірге мұндай үйлесімділікті барлық ортада ұсына алмайды.

GIF-ті MP4-ке түрлендірудің мәні бар ма?

Сайтыңызда көрсететін болсаңыз, әдетте иә. web.dev мысалында бейне нұсқалары GIF өлшемінің шамамен жетіден бірінен оннан біріне дейінгі көлемді алады. autoplay, loop, muted және playsinline атрибуттарымен ойнатылатын бейне бетте дәл GIF сияқты әрекет етеді.

GIF-те қанша түс болуы мүмкін?

Әр түстер кестесінде ең көбі 256 түс болады. Техникалық тұрғыдан әр кадр өз жергілікті кестесін тасымалдай алатындықтан, көп кадрлы GIF жалпы алғанда көбірек түс көрсете алады, бірақ бір кадрдың ішінде шек 256.

Дереккөздер

Қатысты түрлендіргіштер

Барлық мақалалар