Dibangun dengan AI canggih di perangkat Anda dan akselerasi perangkat keras untuk performa profesional dengan privasi tanpa kompromi.AI di perangkat — profesional dan privat.
Putar GIF
Putar GIF seperempat putaran atau sudut bebas — waktu tetap utuh.
- Tanpa unggah
- Rotasi seperempat utuh
- Sudut transparan
- Balik dan cermin
Letakkan GIF di sini
GIF, WebP animasi, atau APNG
Rotasi seperempat memindahkan piksel tanpa mengubah satu pun di antaranya.
Diterapkan pada gambar sebelum rotasi. Juga tanpa biaya.
Apa pun selain rotasi seperempat mengambil ulang sampel dan memperbesar kanvas.
Perbesar untuk menampung seluruh hasil putaran, atau tahan ukuran frame aslinya.
Apa yang mengisi bagian yang tidak lagi dijangkau gambar.
Dithering hanya muncul di tempat yang bisa terbantu tanpa membuat isian solid jadi bertekstur.
Cara memutar GIF
Tegakkan GIF animasi, cerminkan, atau miringkan beberapa derajat, tanpa mengubahnya menjadi gambar diam atau mengubah kecepatan pemutarannya.
- 1
Tambahkan GIF Anda
Seret GIF animasi ke area unggah, atau klik untuk menelusuri. WebP animasi dan APNG juga bisa. Berkas dibaca di perangkat Anda dan tidak pernah diunggah.
- 2
Putar
Tekan putar kiri atau putar kanan untuk rotasi seperempat, atau pilih 90, 180, atau 270 secara langsung. Tambahkan cermin jika gambarnya juga terbalik arah. Pratinjau ikut berputar bersama Anda.
- 3
Miringkan, jika perlu
Penggeser sudut halus menambah hingga 45 derajat ke kedua arah di atas rotasi seperempat. Apa pun selain rotasi seperempat akan memperbesar kanvas dan menyisakan sudut baru, jadi tentukan apakah sudut itu transparan, putih, atau hitam.
- 4
Putar dan unduh
Tekan Putar, lalu Unduh. Jeda tiap frame, jumlah pengulangan, dan transparansi apa pun tetap sama, jadi animasi diputar persis seperti sebelumnya — hanya dengan arah yang benar.
Kenapa memutar GIF
Sebagian besar rotasi adalah koreksi, bukan pilihan. Klip yang direkam pada ponsel yang dipegang menyamping akan tiba dalam keadaan menyamping, karena informasi orientasinya tersimpan di sebuah tag yang ditulis aplikasi perekam lalu dibuang saat ekspor. Rekaman layar dari monitor yang diputar akan keluar miring ke samping. GIF yang diambil dari video berorientasi potret akan diputar dalam keadaan terbaring. Dan sejumlah animasi yang mengejutkan banyaknya ternyata hanya tercermin — diambil dari kamera depan, di mana pratinjau yang Anda tonton adalah pantulan diri Anda sementara berkasnya bukan. Tidak satu pun dari itu keputusan artistik, dan tidak satu pun seharusnya menuntut Anda mengekspor ulang.
Putar atau cerminkan GIF animasi tanpa kehilangan satu piksel pun, miringkan pada sudut bebas dengan sudut transparan, dan pertahankan waktu tiap frame serta jumlah pengulangan persis seperti semula.
Membaca GIF, WebP animasi, dan APNG. Menulis GIF89a standar dengan jeda tiap frame, jumlah pengulangan, dan transparansi tetap terjaga.
Untuk apa sebenarnya sebuah rotasi
- Orientasi, diperbaiki pada berkasnya. GIF tidak punya tag orientasi yang dihormati perender, jadi animasi yang menyamping akan menyamping di mana-mana — di README, di aplikasi obrolan, di slide. Memutar pikselnya adalah satu-satunya perbaikan yang ikut terbawa bersama berkas.
- Rekaman tercermin, dikembalikan. Tangkapan kamera depan adalah pantulan. Teks di dalamnya terbaca terbalik dan apa pun yang tidak simetris terlihat keliru, dan rotasi sebanyak apa pun tidak memperbaikinya — hanya pembalikan yang bisa.
- Gambar yang lebih lurus. Layar yang difoto atau tangkapan dari tangan biasanya miring satu atau dua derajat dari datar. Rotasi sudut halus yang kecil adalah pembeda antara klip yang terlihat sekadar terekam dan klip yang terlihat digarap.
- Menyesuaikan bentuk. Animasi potret yang diputar menjadi lanskap mengisi slot lebar alih-alih duduk di antara dua bilah abu-abu. Dengan kanvas ditahan pada ukuran aslinya, rotasi terjadi di dalam bentuk yang memang sudah diharapkan tujuannya.
Dua operasi, satu kata
Rotasi bukan satu hal. Ia adalah dua operasi yang berperilaku sepenuhnya berbeda, dan hampir setiap alat di kategori ini menyajikannya sebagai satu kontrol — dan begitulah rotasi 90 derajat berakhir dijalankan melalui mesin yang dirancang untuk 37 derajat, melembutkan setiap tepi dalam sebuah berkas tanpa alasan sama sekali. Alat ini memisahkan keduanya, memberi tahu Anda sedang berada di operasi yang mana, dan tidak membiarkan yang mahal mencemari yang murah.
Rotasi seperempat dan cermin tidak berbiaya
Memutar 90, 180, atau 270 derajat, atau mencerminkan kiri-ke-kanan maupun atas-ke-bawah, memindahkan setiap piksel ke posisi berbeda pada kisi. Tidak ada piksel yang dirata-ratakan dengan tetangganya, tidak ada yang dikarang, tidak ada yang dibuang. Karena itu kumpulan warna dalam berkas persis seperti semula — dan karena palet dibangun dari penghitungan warna-warna tersebut, palet yang keluar identik bit demi bit dengan palet yang akan didapat berkas yang sama tanpa rotasi sama sekali. Setiap piksel lalu dipetakan ke entri palet yang sama seperti yang akan dipetakannya. Itulah arti "tanpa kehilangan kualitas" di sini, dan itu diukur bukan sekadar diklaim: frame hasil putaran dibandingkan piksel demi piksel terhadap pustaka gambar independen yang melakukan rotasi yang sama, dan terhadap perhitungan bilangan bulat terpisah tentang di mana setiap piksel semestinya mendarat, dan keduanya sepakat pada selisih nol dari 255.
Detail yang menentukan
Kosinus 90 derajat, dihitung dengan cara yang paling jelas, bukanlah nol — nilainya sekitar 6 diikuti tujuh belas angka nol, lalu 1. Bangun sebuah rotasi dari angka itu dan setiap piksel mendarat sepersekian tak berarti di luar kisi, yang diselesaikan oleh alur pemrosesan grafis dengan interpolasi antar tetangga. Gambarnya terlihat identik. Setiap pemeriksaan bertoleransi akan lulus. Dan operasinya diam-diam tidak lagi menjadi permutasi: tepi menjadi lembut, kumpulan warna telah berubah, dan paletnya bukan lagi palet yang akan dimiliki berkas tanpa rotasi. Keempat sudut siku-siku di sini justru membawa nilai bilangan bulat yang persis, dan penghalusan dimatikan untuk sudut-sudut itu, sehingga tidak ada jalan bagi rotasi seperempat untuk mengambil ulang sampel.
Sudut lain mengambil ulang sampel, dan membesar
Sudut pecahan menaruh gambar pada kisi yang tidak sejajar dengannya, sehingga setiap piksel keluaran adalah campuran piksel sumber di sekitarnya. Itu tidak terhindarkan dan itulah yang membuat gambar miring terlihat halus alih-alih bergerigi. Itu juga memperbesar kanvas: persegi panjang tegak terkecil yang memuat sebuah persegi panjang yang diputar lebih besar daripada keduanya. Frame 200 kali 100 yang diputar 30 derajat butuh 223 kali 187 — lebih dari dua kali lipat jumlah pikselnya — dan selisih antara kedua bentuk itu adalah sudut-sudutnya, dan di situlah kategori ini sebenarnya gagal.
Sudut yang tidak pernah ditangani siapa pun dengan benar
Persegi panjang yang diputar tidak pernah menutupi kotak pembatasnya sendiri. Putar sebuah persegi 45 derajat dan tepat separuh keluarannya tidak pernah menjadi bagian dari gambar. Sesuatu harus ada di sana, dan yang ditaruh kebanyakan alat di sana adalah warna putih.
- Putih adalah keputusan, bukan bawaan. Pada animasi berlatar transparan, sudut putih adalah empat segitiga yang tidak ada di berkas Anda dan tidak bisa dihapus setelahnya. Pada animasi gelap, sudut putih adalah bingkai terang. Tidak satu pun dari keduanya yang diminta.
- Memotong justru menghilangkan sudutnya. Jawaban umum lainnya adalah menahan kanvas asli dan membiarkan gambar hasil putaran melewati batas, yang diam-diam memotong empat sudut gambar yang sesungguhnya. Itu bisa jadi pilihan yang tepat — di sini ditawarkan sebagai Pertahankan ukuran asli — tetapi itu semestinya sebuah pilihan.
- Transparan adalah bawaan yang jujur. Area baru dibiarkan transparan kecuali Anda meminta sebaliknya, jadi sudutnya absen alih-alih dikarang. Putih dan hitam hanya berjarak satu tekan ketika tujuan Anda membutuhkan berkas yang buram.
Bagaimana ini benar-benar diuji
Ini penting karena pengujian yang keliru tidak bisa dibedakan dari tidak ada pengujian sama sekali. Sebuah alat di repositori ini pernah memeriksa bahwa sudut-sudut setelah rotasi pelurusan bersifat buram — yang dipenuhi sempurna oleh isian putih — dan pemeriksaan itu tetap hijau sementara setiap sudut di atas 10 derajat mengekspor segitiga putih yang terlihat menutupi 5,9% gambar. Pernyataan ujinya diarahkan ke properti yang mustahil salah. Di sini sudut-sudut dibaca pada kanal alfa, yang merupakan satu-satunya pembacaan yang bisa membedakan sudut transparan dari sudut putih, pada sumber yang sepenuhnya buram sehingga transparansi apa pun pada keluaran pasti berasal dari rotasinya. Pemeriksaan yang sama kemudian dijalankan dengan isian disetel ke putih dan diharuskan gagal, karena pernyataan uji yang tidak bisa menjadi merah bukanlah pernyataan uji.
Satu keterbatasan yang merupakan milik formatnya
GIF menyimpan transparansi sebagai satu slot palet, bukan sebagai kanal alfa, sehingga sebuah piksel hanya bisa sepenuhnya transparan atau sepenuhnya buram. Artinya, tepi diagonal gambar miring bergerigi seperti anak tangga alih-alih halus, dan tidak ada alat mana pun yang bisa mengatasinya di dalam format ini. Dua konsekuensi praktisnya: animasi miring di atas latar yang ramai terbaca lebih baik dengan warna sudut solid daripada dengan transparansi, dan warna solid juga menghasilkan berkas yang lebih kecil, karena transparansi dan optimasi antar-frame sama-sama membutuhkan satu slot palet cadangan dan tidak bisa keduanya memilikinya.
Perbesar kanvasnya, atau pertahankan
Begitu gambar tidak lagi muat di framenya, hanya ada dua jawaban yang jujur, dan alat ini menawarkan keduanya alih-alih memilihkan untuk Anda.
- Perbesar agar muat. Kanvas melebar ke persegi panjang tegak terkecil yang memuat gambar hasil putaran. Tidak ada yang terpotong. Ini adalah bawaan dan inilah yang dilakukan setiap alat lain, secara diam-diam.
- Pertahankan ukuran asli. Kanvas menahan lebar dan tinggi sumbernya sendiri dan gambar hasil putaran ditempatkan di tengahnya — bagian yang melewati batas dipotong, bagian yang kurang ditambal. Inilah yang Anda inginkan ketika hasilnya harus kembali ke slot berbentuk tetap, dan kami tidak menemukannya ditawarkan di tempat lain mana pun.
- Mana yang tanpa kehilangan kualitas. Perbesar agar muat menjaga rotasi seperempat tetap tanpa kehilangan kualitas, karena setiap piksel masih punya tempat untuk dituju. Pertahankan ukuran asli pada frame yang tidak persegi tidak demikian, karena gambar 300 kali 100 yang diputar tegak tidak bisa muat dalam kotak 300 kali 100. Alat ini memberi tahu Anda berada di kondisi yang mana alih-alih membiarkan Anda menebaknya sendiri.
Kenapa angkanya bertukar
Rotasi seperempat menukar kedua sumbu, jadi animasi 300 kali 100 menjadi 100 kali 300. Itu bukan efek samping yang perlu dikoreksi; itulah hakikat rotasi seperempat. Ini layak disebut karena inilah hal yang paling mudah diuji secara keliru di seluruh alat ini: masukan berbentuk persegi menyembunyikannya sepenuhnya, dan pemutar yang diam-diam tidak melakukan apa pun akan lulus setiap pemeriksaan yang dilakukan pada bentuk persegi. Baris hasil menampilkan kedua ukuran sehingga pertukarannya terlihat, dan dimensi berkas dibaca kembali dari GIF yang sudah jadi alih-alih dipercaya begitu saja.
Memutar animasi lebih sulit daripada memutar gambar
Memutar gambar diam adalah satu transformasi dan satu penggambaran. GIF animasi adalah tumpukan frame, dan formatnya membuat hampir setiap asumsi yang ingin Anda buat tentang frame-frame itu menjadi salah. Sebuah frame belum tentu seukuran animasinya: secara sah ia bisa berupa persegi panjang lebih kecil pada suatu pergeseran, hanya menyimpan area yang berubah sejak frame sebelumnya. Setiap frame membawa metode pembuangan yang menyatakan apa yang harus dilakukan terhadap frame sebelumnya sebelum menggambarnya. Setiap frame boleh mendeklarasikan warna transparannya sendiri, dan setiap frame boleh membawa paletnya sendiri. Pemutar yang memutar potongan-potongan tersimpan itu lalu menaruhnya kembali pada pergeseran lamanya menghasilkan keluaran yang berkedip, berbayang, atau menempatkan separuh animasi di sudut yang salah.
Apa yang terjadi pada setiap frame di sini
- Komposit. Setiap frame digambar pada kanvas seukuran logis animasinya, dengan menghormati pergeserannya, metode pembuangannya, dan transparansinya, sehingga yang diputar adalah gambar yang benar-benar akan dilihat penonton, bukan potongan yang kebetulan disimpan berkas itu.
- Putar, sekali saja. Cermin, rotasi, dan batas ukuran dari paket adalah satu transformasi yang diterapkan dalam satu penggambaran pada perangkat keras grafis Anda. Melakukannya sebagai tahap terpisah akan mengambil ulang sampel dua atau tiga kali padahal satu kali sudah cukup.
- Kuantisasi ulang. Palet dibangun dari sampel yang tersebar di seluruh animasi, bukan dari frame pertama, lalu setiap piksel dipetakan ke palet itu. Membangunnya per frame adalah penyebab warna bergeser terlihat antar frame di alat lain — dan untuk rotasi seperempat, langkah ini terbukti tidak mengubah apa pun sama sekali.
- Optimasi ulang. Area yang tidak berubah antar frame ditandai transparan lagi pada geometri yang baru. Di sinilah sebagian besar ukuran GIF berasal, dan inilah yang mencegah rotasi membuat berkas membesar tanpa perlu.
Kapan kontrol dithering menghilang, dan kenapa
Dithering berurut menggeser setiap piksel sebesar nilai yang bergantung pada posisinya, dan itulah yang memecah pita warna pada palet yang dikurangi. Kontrolnya disembunyikan dalam dua keadaan, dan pada keduanya dithering justru merugikan alih-alih membantu. Pada rotasi seperempat, ketergantungan posisi itu fatal: warna yang sama pada posisi baru akan digeser secara berbeda dan bisa mendarat pada entri palet yang berbeda, sehingga rotasi yang tidak mengubah apa pun justru keluar dengan sesuatu yang berubah — lagi pula tidak ada yang perlu di-dither, karena tidak ada aproksimasi yang dilakukan. Pada isian sudut yang solid, dithering membuat isian itu bertekstur: diukur pada animasi miring dengan latar putih di sekelilingnya, satu sampel kecil dari area yang seharusnya putih rata ternyata memuat tiga abu-abu yang berbeda, karena batas yang dilembutkan antara isian dan gambar memasukkan nuansa nyaris putih ke dalam palet sehingga dithering punya tempat untuk mendarat. Warna yang Anda pilih harus keluar persis sebagai warna itu, jadi dithering dimatikan setiap kali isiannya solid dan kontrolnya tidak ditawarkan di sana.
Memilih rotasi yang tepat
Hampir setiap rotasi nyata adalah salah satu dari empat kasus, dan mengetahui Anda berada di kasus yang mana menghemat tebak-tebakan.
- Rekaman ponsel yang menyamping. Rotasi seperempat, ke satu arah atau arah lainnya. Jika Anda tidak yakin yang mana, putar sekali dan lihat pratinjaunya — itu tidak berbiaya dan tidak ada yang ditulis sampai Anda menekan Putar.
- Terbalik. 180 derajat. Perhatikan bahwa 180 dan cermin ganda terlihat identik pada gambar simetris namun merupakan operasi berbeda pada segala hal lainnya; jika ada teks, hanya 180 yang menjaganya tetap terbaca.
- Cerminan kamera selfie. Pembalikan horizontal, tanpa rotasi sama sekali. Teks yang terbaca terbalik adalah penanda yang andal.
- Tangkapan yang miring. Sudut halus satu sampai empat derajat, dengan Pertahankan ukuran asli jika pemotongan kecilnya bisa diterima dan Perbesar agar muat jika tidak. Ini satu-satunya kasus di mana biayanya nyata, dan pada sudut sekecil itu biayanya tidak terlihat.
Berdasarkan jenis materi
- Rekaman layar. Rotasi seperempat saja, bila memungkinkan. Tepi antarmuka adalah hal paling tajam dalam tangkapan mana pun dan sudut pecahan melembutkan semuanya sekaligus.
- Pixel art dan sprite. Rotasi seperempat persis pada kisi piksel dan sudut pecahan merusaknya. Jika Anda harus memiringkan pixel art, gunakan mode pengambilan sampel Piksel, yang menjaga tepi tetap keras alih-alih mencampurnya.
- Klip fotografis. Sudut pecahan tidak masalah di sini — sebuah foto tidak punya kisi yang bisa dirusak. Pengambilan ulang sampel yang halus adalah pilihan yang tepat, dan itulah bawaannya.
- Apa pun yang punya transparansi. Pertahankan isian sudut tetap transparan, atau latar transparan itu akan mendapat empat segitiga buram begitu Anda meninggalkan rotasi seperempat.
Di mana GIF hasil rotasi adalah jawabannya
- Dokumentasi dan README. Tangkapan dari monitor yang diputar tidak terbaca di dalam dokumen dan rotasi seperempat memperbaikinya secara permanen, di dalam berkasnya, tanpa merekam ulang.
- Obrolan dan unggahan sosial. Tidak ada aplikasi obrolan yang menyediakan tombol putar pada animasi yang sedang ditampilkannya. Orientasinya harus sudah benar di dalam berkas sebelum dikirim.
- Slide dan presentasi. Perangkat lunak slide bisa memutar gambar yang ditempatkan di layar, tetapi PDF atau video hasil ekspornya sering kali membakukan versi aslinya. Memutar berkasnya lebih dulu menghilangkan pertanyaan itu.
- Tangkapan kamera yang tercermin. Apa pun yang direkam dari kamera depan akan terbalik. Pembalikan adalah satu-satunya koreksi, dan itu gratis.
Apa yang dilakukan pertukaran itu pada dimensi Anda
Rencanakan pertukarannya sebelum Anda memutar. Animasi potret 1080 kali 1920 menjadi lanskap 1920 kali 1080, yang merupakan bentuk yang diinginkan sebuah linimasa namun empat kali lebar kolom obrolan. Emoji kustom Discord dan Slack berukuran 128 kali 128, jadi rotasi seperempat pada bentuk persegi tidak berbiaya sementara pada bentuk lain akan mengubah apa yang muat. Kolom README GitHub dalam praktiknya sekitar 700 piksel. X merender gambar sebaris hingga lebar 506 piksel. Jika rotasi membawa Anda melewati batas-batas itu, pengubah ukuran adalah perhentian berikutnya dan jaraknya hanya satu tautan.
Ketika rotasi berjalan keliru
Ada empat hal yang cukup sering salah pada GIF yang diputar sehingga layak disebutkan satu per satu, dan keempatnya punya sebab, bukan misteri. Tidak satu pun berarti berkas Anda rusak.
- Hasilnya kembali sebagai gambar diam. Alat itu membaca bingkai pertama lalu membuang sisanya. Hampir semua penyunting gambar serbaguna melakukan ini pada animasi, tanpa memberi tahu, karena mereka dibuat untuk gambar dan sebuah GIF adalah gambar yang sah bagi mereka. Di sini jumlah bingkai tertera pada baris hasil, jadi Anda bisa melihat bahwa semuanya selamat alih-alih sekadar berharap.
- Ada segitiga putih di sudut-sudutnya. Sudut putarnya bukan kelipatan 90, bidang gambarnya membesar, dan sesuatu harus mengisi area baru itu. Pilih isian sudut yang tembus pandang, atau warna yang cocok dengan tempat tujuan Anda. Rotasi seperempat sama sekali tidak menciptakan area baru.
- Sekarang kecepatan mainnya salah. Jeda tiap bingkai diratakan menjadi satu nilai rata-rata, atau dibuang dan diganti dengan laju bingkai bawaan. Pada GIF, jeda ditetapkan per bingkai dan lazimnya tidak beraturan; alat yang menganggap lajunya tetap akan menghasilkan berkas yang sah tetapi mainnya keliru. Bandingkan durasi totalnya sebelum dan sesudah — alat ini menampilkan keduanya.
- Ukuran berkasnya jauh lebih besar dari sebelumnya. Entah bidang gambarnya membesar, yang tidak terhindarkan pada sudut pecahan, atau optimalisasi antarbingkai hilang. Transparansi dan optimalisasi itu memperebutkan slot palet cadangan yang sama, jadi isian sudut yang tembus pandang memakan byte; isian warna padat tidak.
Kedipan dan bayangan sisa, dan mengapa di sini tidak ada pengaturannya
Satu kegagalan lagi khusus menimpa animasi yang memakai selisih antarbingkai, yakni ketika setiap bingkai hanya menyimpan apa yang berubah sejak bingkai sebelumnya. Putar potongan-potongan tersimpan itu lalu kembalikan ke posisi lamanya, dan Anda akan mendapati serpihan bingkai-bingkai terdahulu berserakan di seluruh hasilnya. Penyunting paling terkenal di kategori ini menyertakan sakelar tiga metode yang harus dipilih sendiri beserta halaman bantuan yang menjelaskan bahwa metode cepat bawaannya merusak berkas semacam itu, bahwa metode yang lebih lambat berhasil tetapi menghapus seluruh optimalisasi dan menghasilkan berkas yang lebih besar, dan bahwa metode ketiga kualitasnya lebih buruk. Itu tiga cara untuk keliru yang disajikan sebagai pilihan. Di sini setiap bingkai disusun di atas bidang gambar penuh sebelum apa pun diputar, jadi tidak ada jalur cepat-tapi-salah untuk ditawarkan dan tidak ada yang perlu dipilih.
Apa yang masuk, dan apa yang keluar
Daftar masukan bersifat tertutup dan ditegakkan di dialog berkas alih-alih di mesin pemroses, jadi berkas yang tidak bisa dibuka alat ini ditolak dalam hitungan milidetik disertai arahan ke alat yang bisa — alih-alih diterima lalu gagal belakangan di balik pemuat yang berputar.
- GIF masuk. Beranimasi atau satu frame, terjalin atau tidak, dengan palet global atau palet lokal berbeda pada setiap frame. Frame sub-persegi pada suatu pergeseran dikomposit ke kanvas penuh sebelum apa pun diputar.
- WebP animasi dan APNG masuk. Keduanya dibaca oleh pembongkar milik kami sendiri di setiap perangkat alih-alih oleh dekoder bawaan, sehingga frame dan waktunya identik di mana pun.
- GIF keluar, selalu. GIF89a standar dengan tabel warna global, jeda tiap frame, metode pembuangan, dan ekstensi pengulangan yang membawa jumlah pengulangan milik sumbernya sendiri.
- Apa pun selain itu ditolak disertai arahan. Video dikirim ke Video ke GIF, foto diam ke Pembuat GIF. Tidak satu pun dijelaskan sebagai kesalahan pada berkas Anda, karena memang bukan.
Apa yang dibaca alat ini
GIF didekode secara bawaan bila perangkat memiliki dekoder untuknya dan oleh pembaca milik kami sendiri di tempat lain, sehingga sebuah animasi terbuka dengan cara yang sama di setiap mesin alih-alih tiba sebagai frame pertamanya. WebP animasi dan APNG selalu memakai pembaca kami sendiri, dan itulah yang menjaga jumlah frame dan waktunya identik di semua mesin. Satu detail yang layak disebut: dekoder bawaan melaporkan jumlah pengulangan GIF yang berputar selamanya sebagai tak terhingga, yang bukan angka yang bisa disimpan berkas GIF — nilai itu diterjemahkan kembali menjadi nol, yaitu pengodean formatnya sendiri untuk selamanya, alih-alih ditulis sebagai apa pun hasil aritmetikanya.
Batas ukuran dan proses massal
- Gratis. Satu berkas hingga 50 MB dan hingga 300 frame, keluaran hingga 2048 piksel pada sisi terpanjang. Kualitas penuh, dan setiap kontrol di halaman ini — paket gratis bukan rotasi berkualitas rendah, melainkan rotasi satu berkas.
- Pro. Hingga 20 berkas sekaligus, diunduh sebagai satu ZIP, tanpa batas dimensi yang dipaksakan. Proses massal adalah yang dibeli Pro di sini, karena memutar satu folder klip satu per satu adalah pekerjaan membosankan yang sesungguhnya.
- Batas yang sama untuk kedua paket. Setiap frame diperluas ke warna penuh saat sedang dikerjakan, jadi anggaran memori membatasi pekerjaan sebelum dimulai alih-alih membiarkan tab berhenti merespons sementara cincin kemajuan terus berputar.
Apa yang terjadi di perangkat Anda
Tidak ada yang diunggah. Berkas didekode frame demi frame di mesin Anda sendiri, setiap frame dikomposit dan diputar oleh satu transformasi, palet dibangun di seluruh animasi, area yang tidak berubah ditandai transparan lagi, dan hasilnya ditulis sebagai GIF89a standar. Semuanya berjalan di utas latar belakang agar halaman tetap responsif, dan rotasinya sendiri berjalan pada perangkat keras grafis Anda bila tersedia.
Kenapa berkas yang sama selalu berputar secara identik
- Kuantiser yang deterministik. Median cut, bukan kuantiser neural teracak yang dipakai kebanyakan pustaka GIF, sehingga masukan yang sama dengan pengaturan yang sama selalu menghasilkan keluaran yang identik bit demi bit.
- Hasil identik pada setiap jalur. Jalur berakselerasi grafis dan jalur prosesor diharuskan menghasilkan bita yang sama, bukan sekadar mirip — jalur yang memilih entri palet berbeda akan tampak sebagai kedipan warna antar frame.
- Geometri diperiksa terhadap implementasi lain. Rotasinya dibandingkan piksel demi piksel terhadap pustaka gambar independen yang melakukan rotasi yang sama, dan terhadap perhitungan bilangan bulat terpisah tentang di mana setiap piksel semestinya mendarat. Dua jawaban yang sepakat adalah bukti; satu jawaban yang sepakat dengan dirinya sendiri bukan.
Apa yang tidak boleh diubah sebuah pemutar
Empat hal harus keluar persis seperti saat masuk: jeda milik tiap frame, total waktu pemutaran, jumlah pengulangan, dan piksel mana saja yang transparan. Alat yang mengatur ulang waktu animasi sambil memutarnya menghasilkan GIF yang sepenuhnya valid namun diputar pada kecepatan yang salah; alat yang meratakan transparansi menghasilkan gambar dengan kotak di sekelilingnya; alat yang membakukan jumlah pengulangan mengubah animasi tiga putaran menjadi animasi tanpa henti. Keempatnya diukur pada setiap proses di sini alih-alih diasumsikan, dan angkanya ada di baris hasil sehingga Anda bisa membacanya.
Hasil yang terukur
- Akurasi rotasi seperempat Nol. Selisih per kanal terbesar antara rotasi kami dan pustaka gambar independen yang melakukan rotasi yang sama adalah 0 dari 255, pada setiap rotasi seperempat dan kedua cermin — sebuah kesetaraan, bukan toleransi, karena permutasi tidak mengambil ulang sampel apa pun.
- Perjalanan bolak-balik Empat rotasi seperempat mengembalikan piksel aslinya secara persis, dan 180 derajat yang diterapkan dua kali melakukan hal yang sama. Keduanya pada 0 dari 255.
- Sudut-sudutnya Pada 45 derajat, 50% keluarannya adalah isian dan keempat sudutnya terbaca alfa 0 — transparan, bukan putih. Pemeriksaan yang sama dengan isian disetel ke putih diharuskan gagal, dan memang gagal.
- Kecepatan 100 frame berukuran 480 kali 270 diputar seperempat dalam 256 md; berkas yang sama pada sudut sembarang dalam 692 md.
Rotasi seperempat dan cermin adalah permutasi piksel yang persis, diverifikasi dengan selisih nol terhadap pustaka gambar independen dan terhadap perhitungan bilangan bulat terpisah. Rotasi diakselerasi perangkat keras bila perangkat Anda mendukungnya, dan jalur berakselerasi maupun jalur cadangan menghasilkan keluaran yang identik bit demi bit. Diukur pada perangkat acuan: 100 frame berukuran 480 kali 270 diputar dalam 256 md. Berkas tetap ada di perangkat Anda.
Pertanyaan yang sering diajukan
Apakah memutar GIF menurunkan kualitas?
Rotasi seperempat atau cermin tidak, dan itu layak dinyatakan secara tepat, bukan sekadar sebagai penenang. Memutar 90, 180, atau 270 derajat, atau membalik secara horizontal maupun vertikal, memindahkan setiap piksel ke posisi lain pada kisi tanpa merata-ratakannya dengan tetangga mana pun — itu permutasi, bukan perhitungan. Karena kumpulan warna dalam berkas jadi tidak berubah, palet yang dibangun alat ini keluar identik dengan palet yang didapat berkas yang sama tanpa rotasi sama sekali, sehingga keluarannya memuat persis warna yang dimiliki masukannya. Sudut lain berbeda: gambar harus diambil ulang sampelnya ke kisi yang tidak sejajar dengannya, dan itu benar-benar ada biayanya. Alat ini memberi tahu Anda berada di kondisi yang mana, di layar, sebelum Anda menekan apa pun.
Kenapa GIF yang diputar keluar dengan segitiga putih di sudutnya?
Karena persegi panjang yang diputar tidak menutupi kotak pembatasnya sendiri. Putar sebuah persegi 45 derajat dan separuh kanvas baru tidak pernah menjadi bagian dari gambar — sesuatu harus mengisinya, dan kebanyakan alat menaruh putih di sana. Pada GIF berlatar transparan, hasilnya empat segitiga terlihat yang tidak ada di berkas Anda; pada GIF gelap, hasilnya bingkai terang yang tidak diminta siapa pun. Alat ini membiarkan area itu transparan secara bawaan, dan memungkinkan Anda memilih putih atau hitam jika itu yang dibutuhkan tujuan Anda. Tidak ada yang diisi diam-diam.
Apakah memutar akan membuat GIF saya berhenti beranimasi?
Tidak. Setiap frame diputar, bukan hanya frame pertama. Itu terdengar jelas dan justru merupakan keluhan paling umum tentang editor GIF daring, karena alat yang dibangun untuk gambar diam memperlakukan animasi sebagai frame pertamanya dan mengembalikan gambar yang tidak lagi bergerak. Di sini berkas didekode menjadi daftar frame lengkapnya, setiap frame diputar dengan transformasi yang sama, dan animasi ditulis kembali dengan jumlah frame, jeda tiap frame, dan jumlah pengulangannya tetap utuh.
Apa bedanya memutar dan membalik?
Rotasi memutar gambar mengelilingi pusatnya; pembalikan memantulkannya, yang bukan hal yang sama dan tidak bisa dicapai oleh rotasi mana pun. Teks adalah petunjuknya: putar foto sebuah papan tanda dan kata-katanya tetap terbaca meski miring, cerminkan dan kata-katanya jadi terbalik. Keduanya tersedia di sini dan keduanya tanpa kehilangan kualitas, dan keduanya bisa digabung — balik dulu, lalu putar — sehingga klip ponsel yang keluar miring sekaligus tercermin cukup satu operasi, bukan dua perjalanan bolak-balik melalui dua alat.
Bisakah saya memutar dengan sudut yang bukan kelipatan 90?
Bisa. Sudut halus menambah hingga 45 derajat di kedua sisi rotasi seperempat mana pun yang Anda pilih, yang bersama-sama menjangkau setiap sudut dalam lingkaran. Kontrolnya dipisahkan dengan sengaja: rotasi seperempat tidak berbiaya sementara sudut pecahan berbiaya, jadi menaruh keduanya di balik satu angka akan menyembunyikan perbedaan itu. Meluruskan tangkapan layar yang sedikit miring sebesar dua atau tiga derajat adalah kasus yang umum, dan pada ukuran itu biayanya tidak terlihat — tetapi biaya itu tetap ada, dan alat ini mengatakannya.
Apakah kanvas harus menjadi lebih besar?
Tidak, jika Anda tidak menginginkannya. Perbesar agar muat adalah bawaan dan itulah yang dilakukan setiap alat lain: kanvas melebar ke kotak pembatas hasil rotasi sehingga tidak ada yang terpotong. Pertahankan ukuran asli justru menahan lebar dan tinggi frame itu sendiri, menempatkan gambar hasil putaran di tengahnya — yang memotong bagian yang melewati batas dan menambal bagian yang kurang. Itulah mode yang Anda inginkan ketika hasilnya harus kembali masuk ke slot berukuran tetap, seperti bingkai emoji atau sel tabel, dan mode itu tidak kami temukan ditawarkan di tempat lain.
Apakah memutar mengubah kecepatan atau jumlah pengulangan?
Tidak, dan keduanya diperiksa pada setiap proses, bukan diasumsikan. Setiap frame mempertahankan jedanya sendiri, jadi total waktu pemutaran keluaran sama dengan total waktu pemutaran masukan. Jumlah pengulangan dibaca dari berkas dan ditulis kembali: GIF yang dibuat untuk diputar tiga kali tetap diputar tiga kali. Ini layak diuji pada alat apa pun yang Anda pakai, karena mengatur ulang waktu saat memutar menghasilkan GIF yang sepenuhnya valid namun diputar pada kecepatan yang salah, dan tidak ada yang terlihat keliru pada berkasnya.
Apakah latar transparan saya akan bertahan?
Ya. Transparansi GIF adalah indeks palet per frame, bukan kanal alfa, dan indeks itu dibawa melewati rotasi — margin transparan keluar transparan, persis, diperiksa terhadap pustaka gambar independen dengan selisih nol. Jika Anda juga memutar dengan sudut pecahan memakai isian sudut transparan, sudut-sudut baru itu ikut bergabung. Satu catatan jujur yang merupakan milik formatnya, bukan alat ini: karena transparansi hanyalah satu slot palet, tepinya keras alih-alih halus, sehingga gambar miring di atas latar transparan memiliki tepi bergerigi seperti anak tangga. Mengisi dengan warna solid menghindari hal itu dan sekaligus menghasilkan berkas yang lebih kecil.
Kenapa berkas saya membesar saat diputar dengan sudut ganjil?
Karena kanvasnya membesar. GIF 200 kali 100 yang diputar 30 derajat butuh kanvas 223 kali 187 untuk menampung sudut-sudutnya, yang lebih dari dua kali lipat jumlah pikselnya — dan jika sudut baru dibuat transparan, transparansi dan optimasi antar-frame memperebutkan slot palet cadangan yang sama, sehingga animasi juga disimpan dengan kurang efisien. Dua hal membantu: pertahankan ukuran kanvas asli jika pemotongannya masih bisa diterima, dan pilih warna sudut solid alih-alih transparansi, yang membiarkan optimasinya tetap utuh. Rotasi seperempat tidak punya kedua masalah itu, karena kanvasnya menampung jumlah piksel yang persis sama seperti sebelumnya.
Berkas apa saja yang bisa saya buka di sini?
GIF, WebP animasi, dan APNG, beranimasi atau tidak, serta PNG statis. Daftarnya tertutup dan ditegakkan di dialog berkas alih-alih di mesin pemroses, jadi apa pun selain itu ditolak dalam hitungan milidetik disertai arahan ke alat yang bisa membantu — video diarahkan ke Video ke GIF, foto diam ke Pembuat GIF. Anda semestinya tidak pernah memilih berkas, menunggu pemuat berputar, lalu diberi tahu bahwa berkas itu memang tidak akan pernah bisa diproses.
Bisakah saya memutar beberapa GIF sekaligus?
Pada Pro, bisa — hingga 20 berkas sekaligus, diunduh bersama sebagai satu ZIP. Setiap berkas mendapat rotasi yang sama, dan itulah yang membuatnya berguna untuk satu folder klip yang semuanya keluar dari kamera yang sama dengan arah yang sama. Paket gratis menangani satu berkas dalam satu waktu, dengan kualitas penuh dan setiap fitur di halaman ini tetap tersedia.
Apakah ada yang diunggah?
Tidak. Berkas didekode, diputar, dan dikodekan ulang di mesin Anda sendiri, di utas latar belakang agar halaman tetap responsif, dan rotasinya sendiri berjalan pada perangkat keras grafis Anda bila tersedia. Tidak ada yang meninggalkan perangkat, itulah sebabnya tidak ada antrean, tidak ada biaya berdasarkan ukuran berkas, dan tidak ada tautan yang kedaluwarsa dalam satu jam. Itu juga sebabnya animasi 50 MB dibatasi oleh memori Anda sendiri, bukan oleh jatah unggahan pihak lain.