Animasiyalı GIF ölçü dəyişdiricisi: çoxkadrlı yenidən nümunələmə, tərəflər nisbəti kilidi və palitra optimallaşdırması
⚡Brauzerinizdə animasiyalı GIF-in ölçüsünü necə dəyişmək olar
Animasiyalı GIF faylınızı yükləyin
Animasiyalı GIF-inizi yükləmə zonasına sürükləyin və ya yerli diskinizdən seçmək üçün klikləyin. Mühərrik faylı yoxlayır, cari ölçüləri, fayl çəkisini və kadr sayını göstərir.
Hədəf ölçüləri və ya faiz miqyasını təyin edin
İstədiyiniz eni və ya hündürlüyü piksellə daxil edin (tərəflər nisbəti kilidi aktiv olmaqla) və ya hər iki oxu mütənasib miqyaslamaq üçün faiz şablonu (məsələn, 50% və ya 75%) seçin.
Rəng palitrası və keyfiyyət seçimlərini seçin
Hədəf rəng dərinliyinizi (256 rəngə qədər) seçin və ölçüsü dəyişdirilmiş kadrlarda hamar ton keçidlərini təmin etmək üçün ditherinq tətbiq edilib-edilməyəcəyini seçin.
Ölçüsü dəyişdirilmiş GIF-inizi emal edin və endirin
'GIF ölçüsünü dəyiş' düyməsinə klikləyin. Çoxaxınlı mühərrik bütün kadrları yenidən nümunələyir, GIF89a axınını yenidən tərtib edir və optimallaşdırılmış aktiviniz üçün ani endirmə keçidi təqdim edir.
Animasiyalı GIF-lər rəqəmsal məhsullarda, texniki bloqlarda, GitHub sənədlərində və çat tətbiqlərində hər yerdədir. Lakin yüksək rezolyusiyalı ekran çəkilişləri və optimallaşdırılmamış video ixracları tez-tez nəhəng ölçülər — çox vaxt 1920x1080 və ya 4K Ultra HD — yaradır ki, bunlar veb maketlərini doldurur, mesajlaşma yükləmə limitlərini (Discord-un 8MB və ya 25MB tavanı kimi) aşır və 50MB-dan yuxarı ağır fayl ölçüləri yaradır. Bu animasiyaları kiçiltmək adaptiv veb performansı və axıcı oynatma üçün vacibdir.
Brauzerdə işləyən GIF ölçülərini dəyiş alətimiz zaman animasiya hamarlığını və vizual kəskinliyi qoruyaraq animasiyalı GIF-ləri dəqiq piksel ölçülərinə və ya faiz nisbətlərinə miqyaslamağa imkan verir. Çoxkadrlı kətan yenidən nümunələməsi və ağıllı rəng yenidən kvantlaşdırması ilə işləyən alətimiz hər kadrın piksel həndəsəsini yenidən hesablayır, palitra partlayışının qarşısını alır, tərəflər nisbəti kilidlərini saxlayır və təmiz GIF89a faylları ixrac edir. WebAssembly vasitəsilə 100% brauzer tərəfdə cihaz yaddaşında işlədiyi üçün şəxsi ekran yazılarınız və məxfi animasiyalarınız heç vaxt xarici serverə toxunmur.
Tam texniki bələdçini oxu
Animasiyalı GIF-lərin ölçüsünü dəyişmək niyə mürəkkəb çoxkadrlı emal tələb edir
Statik JPEG və ya PNG-ni miqyaslamaq tək rastr şəbəkəsini götürüb interpolyasiya nüvəsi tətbiq etməkdən ibarətdir. Animasiyalı GIF-də isə fayl zaman xətti ilə əlaqələndirilmiş onlarla və ya yüzlərlə ayrı-ayrı kadr ehtiva edir. Hər kadrın müstəqil koordinat sürüşmələri, şəffaflıq indeksləri və disposal təlimatları var.
Bundan əlavə, müasir optimallaşdırılmış GIF-lər nadir hallarda hər kadr üçün tam kadr bitmapları ehtiva edir; onlar yalnız dəyişən piksellərin düzbucaqlı hüdud qutusunun saxlandığı delta sıxılmasına əsaslanır. Ölçü dəyişdirmə aləti bu qismən delta düzbucaqlılarını sadəlövhcəsinə müstəqil yenidən nümunələyərsə, yuvarlaqlaşdırma xətaları subpiksel səviyyəsində kəsr piksel uyğunsuzluqlarına səbəb olur. Oynatma zamanı bu, dəhşətli vizual cırılmalar, kələ-kötür kənar artefaktları və titrəyən haşiyələr yaradır. Mühərrikimiz bunu vahid məkan interpolyasiyası tətbiq etməzdən əvvəl hər zaman kəsiyi üçün tam kompozisiya edilmiş kətan vəziyyətini yenidən qurmaqla həll edir.
Yenidən nümunələmə alqoritmləri və 256 rəngli palitra partlayışı problemi
Rəqəmsal şəkli müasir interpolyasiya alqoritmləri (Bilinear və ya Bicubic filtrləmə kimi) ilə miqyaslayarkən yenidən nümunələmə filtri qonşu pikselləri bir-birinə qarışdırır. Məsələn, təmiz ağ piksellə qonşu olan kəskin qara pikseli miqyaslamaq hamar hamarlaşdırılmış keçidlər yaratmaq üçün bir neçə aralıq boz çalar yaradır.
24 bitlik TrueColor formatlarında (PNG və ya JPEG) bu hamarlaşdırma zərərsizdir, çünki format 16.7 milyon rəngi dəstəkləyir. GIF89a-da isə hər kadr ciddi şəkildə ən çoxu 256 rəngdən ibarət indeksləşdirilmiş palitra ilə məhdudlaşır. 100 kadrı bicubic filtrləmə ilə yenidən nümunələmək minlərlə yeni hamarlaşdırılmış çalar yarada və orijinal 256 rəngli palitranı tamamilə dağıda bilər. Düzgün idarə edilmədikdə ölçüsü dəyişdirilmiş animasiya həddindən artıq rəng zolaqlanmasından, ləkəli küydən və ya nəhəng palitra cədvəli şişkinliyindən əziyyət çəkir. Mühərrikimiz istəyə bağlı Floyd-Steinberg xəta diffuziyası ditherinqi ilə Median-Cut rəng yenidən kvantlaşdırmasını tətbiq edir və 8 bitlik palitra tavanına ciddi riayət edərək kəskin kənar təriflərini təmin edir.
Tərəflər nisbəti kilidi və ölçü miqyaslama riyaziyyatı
Vizual nümayişlərin ölçüsünü dəyişərkən həndəsi nisbətləri qorumaq kritikdir. Dartılmış proqram interfeysləri, təhrif olunmuş tipoqrafiya və əyilmiş brend loqoları peşəkar təqdimata xələl gətirir. Alətimiz mütənasib ölçüləri real vaxtda hesablayan avtomatik tərəflər nisbəti kilidi təqdim edir:
• Hədəf enin hesablanması: Hündürlük dəyişdirildikdə $Width_{new} = \text{round}\left(Height_{new} \times \frac{Width_{orig}}{Height_{orig}}\right)$ • Hədəf hündürlüyün hesablanması: En dəyişdirildikdə $Height_{new} = \text{round}\left(Width_{new} \times \frac{Height_{orig}}{Width_{orig}}\right)$ • Faiz miqyaslaması: Proqnozlaşdırıla bilən, ani ölçü azaltmaları üçün 25%, 50% və ya 75% asanlıqla kiçildin. Bundan əlavə, animasiyalı GIF-i sonradan GIF-dən MP4 videoya alətimiz vasitəsilə videoya çevirmək üçün hazırlayarkən ölçü dəyişdiricimiz H.264 makroblok kodlama tələblərini ödəyərək cüt piksel ölçüləri (həm en, həm də hündürlük 2-yə bölünən) tətbiq etməyə imkan verir.
Kvadratik yük üstünlüyü: miqyaslama və kadr atma
Bir çox məzmun yaradıcısı şişkin GIF fayl ölçülərini kadrları ataraq (məsələn, 30 fps-i 15 fps-ə endirməklə) azaltmağa çalışır. Kadr atma yük ölçüsünü xətti azaltsa da ($O(N)$, burada $N$ kadr sayıdır), görünən hərəkət titrəməsi və kəsik-kəsik animasiya oynatması yaradır.
Məkan üzrə ölçü dəyişdirmə isə bayt yükünü kvadratik azaldır ($O(W \times H)$). 1200x800 masaüstü ekran yazısını 50% kiçildərək 600x400-ə endirsəniz, ümumi piksel sahəsi kadr başına 960,000 pikseldən cəmi 240,000 pikselə düşür — hər bir kadrda piksel həcmində nəhəng 75% azalma! Animasiya 20MB-dan 5MB-dan aşağıya kiçilərkən orijinal kadr tezliyinin 100%-ni və ipək kimi hamar hərəkətini saxlayır.
Kadr sinxronizasiyasının və GCE santisaniyə gecikmələrinin qorunması
Pis hazırlanmış onlayn GIF alətlərində geniş yayılmış xəta ölçü dəyişdirmə zamanı zaman sinxronizasiyasının pozulmasıdır. GIF-də hər kadrın müddəti onun Graphic Control Extension (GCE) blokundakı santisaniyələrlə (saniyənin 1/100-i) ifadə olunan 2 baytlıq sahə ilə idarə olunur.
Ölçü dəyişdirmə mühərrikimiz hər orijinal kadrın dəqiq millisaniyəlik gecikmə dəyərlərini təhlil edir və əks etdirir. İstər animasiyanız vahid kadr intervallarından (məsələn, 10 fps = kadr başına 10cs gecikmə), istərsə də dəyişkən kadr vaxtlamasından (məsələn, sürətli keçidləri 4cs-də oynadarkən statik slaydı 200cs saxlamaq) istifadə etsin, alətimiz dəqiq zaman xoreoqrafiyasını qoruyur. Çıxış animasiyası müəllifin nəzərdə tutduğu dəqiq fiziki sürətlə işləyir.
Adaptiv veb çatdırılması və müasir cihaz uyğunluğu
Adaptiv veb arxitekturasında mobil cihazlara yüksək rezolyusiyalı masaüstü animasiyaları təqdim etmək əhəmiyyətli trafik israfına və batareya sərfiyyatına səbəb olur. 390px CSS görünüş sahəsi olan smartfon ekranı 1800px enində GIF yükləməkdən heç bir vizual fayda əldə etmir, lakin mobil CPU milyonlarla böyük ölçülü pikseli yaddaşa dekodlamaq üçün emal dövrləri sərf etməlidir.
Uyğun miqyaslanmış variantlar (mobil görünüş sahələri üçün 480px, planşet konteynerləri üçün 800px və masaüstü görünüş sahələri üçün 1200px kimi) yaratmaqla veb tərtibatçıları standart adaptiv HTML `<picture>` elementlərindən istifadə edərək uyğunlaşdırılmış aktivlər təqdim edə bilərlər. Animasiyalı GIF-i sıx alətimizlə birlikdə veb səhifələriniz ildırım sürətli Largest Contentful Paint (LCP) ballarına və üstün Core Web Vitals reytinqlərinə nail olur.
Korporativ ekran yazıları üçün brauzer tərəfli sıfır yükləməli təhlükəsizlik
Korporativ tərtibat komandaları, UI/UX dizaynerləri və hüquq işçiləri tez-tez daxili proqram alətlərini, xüsusi məhsul prototiplərini və müştəri hesabı iş axınlarını əks etdirən animasiyaları qeyd edir və ölçüsünü dəyişirlər. Bu media fayllarını üçüncü tərəf veb serverlərinə ötürmək GDPR, CCPA və SOC 2 çərçivələri altında dərhal uyğunluq riskləri yaradır.
Alətimiz WebAssembly və Web Worker-lərdən istifadə edərək tamamilə brauzer müştərinizdə işləyir. Xam binar məlumat birbaşa yerli fayl sisteminizdən brauzer yaddaşına oxunur, çoxnüvəli CPU axınlarında emal olunur və yerli olaraq endirilir. Heç bir piksel və ya bayt xarici şəbəkə bağlantısı üzərindən ötürülmür.
💡Animasiyalı GIF-lərin ölçüsünü dəyişmək üçün peşəkar ən yaxşı təcrübələr
- •Tərəflər nisbətini kilidləyin: UI elementlərinin və mətnin yöndəmsiz şaquli dartılmasının və ya üfüqi sıxılmasının qarşısını almaq üçün tərəflər nisbəti kilidini həmişə aktiv saxlayın.
- •Ölçü dəyişdirməzdən əvvəl kəsin: Animasiyanızda arzuolunmaz masaüstü kənarları və ya brauzer pəncərəsi tabları varsa, ölçü dəyişdirməzdən əvvəl istifadə olunmayan pikselləri aradan qaldırmaq üçün əvvəlcə GIF animasiyasını kəs alətimizdən istifadə edin.
- •Video çevirmə üçün cüt ölçüləri hədəfləyin: GIF-inizi sonradan GIF-dən MP4 videoya ilə MP4 videoya çevirməyi planlaşdırırsınızsa, həm enin, həm də hündürlüyün cüt ədədlər (2-yə bölünən) olduğunu təmin edin.
- •Yüksək DPI-lı ekran yazıları üçün 50% kiçildin: Retina və 4K ekran çəkilişləri standart ekranlardan iki dəfə böyükdür. 50% kiçiltmək kəskin 1x veb aydınlığını qoruyaraq fayl çəkisini 75% azaldır.
- •Orta ditherinqdən istifadə edin: Floyd-Steinberg ditherinqi fotoqrafik məzmunda rəng zolaqlanmasının qarşısını alır, lakin düz vektor qrafikalarında yüngül ləkələnmə yarada bilər. Təmiz düz UI üçün ən yaxın qonşunu seçin.
- •Ölçü dəyişdirdikdən sonra sıxın: Maksimum fayl ölçüsü azalması üçün itkili LZW optimallaşdırması tətbiq etmək məqsədilə ölçüsü dəyişdirilmiş animasiyanızı Animasiyalı GIF-i sıx alətimizdən keçirin.
- •Brauzer gecikmə limitlərini yoxlayın: Kadr gecikmələrinin 2 santisaniyədən (20ms) aşağı təyin edilmədiyini təmin edin, çünki müasir brauzerlər CPU ləngiməsinin qarşısını almaq üçün 20ms-dən az kadrları ləngidir.
🛡️Texniki arxitektura və çoxkadrlı yenidən nümunələmə axını
Brauzerdə işləyən GIF ölçü dəyişdirmə arxitekturası möhkəm çoxmərhələli axın vasitəsilə icra olunur: 1. Demultipleksləşdirmə və kadr kompozisiyası: Yüklənmiş GIF binarı ayrı-ayrı Graphic Control Extension-lara, Image Descriptor-lara və LZW bayt axınlarına bölünür. Delta kadr cırılmalarının qarşısını almaq üçün hər kadr GIF disposal vəziyyətlərini (0–3 metodları) dəqiq izləyən əsas 32 bitlik OffscreenCanvas üzərində ardıcıl göstərilir. 2. Yüksək performanslı məkan yenidən nümunələməsi: Hər kompozit kadr üçün şəkil məlumatı brauzer tərəfindən sürətləndirilmiş bilinear/bicubic yenidən nümunələmə ilə `[targetWidth, targetHeight]` ölçülü hədəf OffscreenCanvas-a miqyaslanır. Koordinat başlanğıcları və sərhədləri bütün zaman indeksləri üzrə normallaşdırılır. 3. Rəng kvantlaşdırması və ditherinq: Ölçüsü dəyişdirilmiş 32 bitlik RGBA piksel buferləri optimal 256 rəngli palitranı çıxarmaq üçün Median-Cut və ya NeuQuant rəng kvantlaşdırma alqoritmi ilə təhlil edilir. İstəyə bağlı Floyd-Steinberg xəta diffuziyası vizual zolaqlanmanı aradan qaldırmaq üçün kvantlaşdırma xətalarını qonşu piksellərə paylayır. 4. GIF89a seriyalaşdırması: Kvantlaşdırılmış indekslər LZW kodlayıcısına ötürülür. Axın yenilənmiş ölçülərlə Logical Screen Descriptor-u, Netscape 2.0 dövr genişlənməsi başlığını və dəqiq qorunmuş santisaniyə GCE gecikmə dəyərləri olan ardıcıl şəkil bloklarını endirilə bilən binar Blob-a yazır.
Texnologiya: WebAssembly • Çoxaxınlı Web Workers • HTML5 Canvas API
Məxfilik: Fayllar cihazınızı tərk etmir və buludda saxlanmır; analitika yalnız razılığınızla işləyir.
Bu iş axını üçün tamamlayıcı alətlər
Yüksək performanslı iş axınları üçün bu brauzer alətlərini birlikdə istifadə edin.
Animasiyalı GIF-i sıx
Ağır GIF fayllarını kiçiltmək üçün təkrarlanan kadrları silin və palitranı azaldın.
GIF-dən MP4 videoya
Həcmli animasiyalı GIF-ləri yüngül müasir MP4 video döngələrinə çevirin.
Qısa videodan GIF-ə
Video parçalarını kəsin və yüngül animasiyalı GIF-lərə çevirin.
APNG-dən GIF-ə çevirici
Animasiyalı PNG (APNG) fayllarını hər yerdə dəstəklənən GIF-ə çevirin.