Halaman ini memberikan contoh untuk perilaku pemrosesan gambar lanjutan, efek pengurutan pipeline, dan aturan normalisasi gambar otomatis.
Urutan transformasi
Operasi dalam string parameter kueri imop berjalan secara berurutan dari kiri ke kanan, kecuali metadata atau scale yang berjalan terlebih dahulu dan canvas yang berjalan terakhir. Karena setiap operasi bertindak langsung pada output visual dari
operasi sebelumnya, urutan parameter Anda memengaruhi kualitas visual
akhir dan pelestarian detail gambar turunan.
Pertimbangkan gambar sumber dengan lebar 1.000 piksel dan tinggi 1.000 piksel:
Contoh: Resize lalu Crop
https://www.example.com/image.jpg?imop=Resize,width=200;Crop,left=0.5
Mengubah ukuran: Gambar asli berukuran 1000×1000 piksel diubah ukurannya menjadi 200×200 piksel (mempertahankan rasio aspek 1:1).
Pangkas: operasi
left=0.5memangkas setengah bagian kiri gambar yang telah diubah ukurannya.
Hasil: Gambar 100 x 200 piksel yang merepresentasikan 50% konten di sebelah kanan.
Contoh : Crop lalu Resize
https://www.example.com/image.jpg?imop=Crop,left=0.5;Resize,width=200
Pangkas: Operasi
left=0.5ini mengekstrak 50% kanan gambar sumber beresolusi tinggi terlebih dahulu, sehingga membuat gambar500 x 1000 pxperantara (mengubah rasio aspek menjadi 1:2).Ubah ukuran: Parameter
width=200mengubah ukuran gambar perantara ini. Untuk mempertahankan rasio aspek 1:2 yang baru, tinggi akan diskalakan menjadi 400 px.
Hasil: Gambar akhir 200 * 400 px.
Perilaku peregangan dan peningkatan kualitas
Secara default, layanan pengoptimalan gambar menerapkan strategi ketat, hanya menurunkan skala untuk menghemat bandwidth pengiriman edge dan melindungi kualitas visual. Jika Anda meminta dimensi yang lebih besar dari gambar asli, Cloud CDN akan mengabaikan pembesaran dan menampilkan gambar dalam ukuran aslinya.
Untuk mengganti perilaku ini dan memaksa aset di-upscale, Anda harus mendeklarasikan nilai stretch secara eksplisit.
Persyaratan validasi untuk peningkatan kualitas
Aturan ukuran ganda: nilai
stretchdiizinkan hanya jika Anda secara eksplisit memberikan parameterwidthdanheightdalam operasiResizeBatasan dimensi tunggal: Jika Anda menyertakan
scaling=stretchsaat menentukan hanya satu dimensi, sepertiwidthatauheight, layanan pengoptimalan gambar akan menolak seluruh permintaan.
Misalnya,
Permintaan yang valid: ?imop=resize,width=500,height=500,scaling=stretch
Permintaan tidak valid: ?imop=resize,width=500, scaling=stretch
Caching dan invalidasi cache
Saat memperbarui gambar asli di server asal, Anda harus membatalkan validasi versi dalam cache untuk memastikan Cloud CDN mengambil dan menyajikan aset yang diperbarui.
Perilaku caching
Setiap kombinasi unik parameter transformasi yang ditambahkan ke URL gambar akan membuat entri cache yang terpisah dan berbeda di edge. Untuk mengoptimalkan rasio hit cache, hindari pembuatan variasi parameter unik dalam jumlah yang berlebihan. Misalnya, perubahan satu piksel.
Cloud CDN menormalisasi kunci cache untuk mengelompokkan parameter transformasi yang identik, terlepas dari urutannya dalam string kueri.
Perilaku pembatalan
Saat memperbarui gambar asli di server asal, Anda hanya perlu mengirimkan satu permintaan pembatalan untuk URL gambar dasar. Cloud CDN yang ditingkatkan secara otomatis menghapus gambar asli yang di-cache dan semua variannya yang dibuat secara otomatis (seperti WebP atau versi yang dioptimalkan) secara global.
Cara Kerja Pembatalan Varian
Saat Anda mengeluarkan permintaan invalidasi cache menggunakan pola jalur yang cocok dengan URL gambar dasar, misalnya,/images/my-picture.jpg, Cloud CDN akan otomatis mengidentifikasi dan menghapus:
Gambar sumber yang di-cache asli.
Semua varian yang dibuat sebelumnya
Anda dapat menerapkan invalidasi cache Cloud CDN menggunakan:
Konsol Google Cloud Google: buka Network Services > Cloud CDN, pilih origin, lalu buka tab Cache Invalidation. Atau, buka Network Services > Load Balancing, pilih load balancer Anda, dan gunakan tab Cache Invalidation.
Google Cloud CLI: gunakan perintah
Google Cloud CLI compute url-maps invalidate-cdn-cache.Tag Cache : Tag cache adalah pendekatan yang direkomendasikan untuk mengelola gambar yang dioptimalkan. Dengan demikian, Anda dapat mengeluarkan permintaan pembatalan yang menargetkan tag tertentu, yang menghapus konten yang terkait dengannya untuk kontrol yang lebih terperinci.
Contoh:
Untuk membatalkan validasi /images/my-picture.jpg dan semua varian yang dioptimalkannya secara global:
Jalur: tentukan jalur yang tepat
/images/my-picture.jpg.Host (Opsional): tentukan host jika Anda hanya ingin menghapus gambar untuk domain tertentu.
Setelah dikirimkan, satu tindakan ini akan menghapus semua versi gambar yang dioptimalkan dari cache edge secara global, sehingga memastikan pengguna segera menerima versi yang diperbarui pada permintaan berikutnya.
Profil warna dan orientasi gambar dalam EXIF (normalisasi)
Smartphone dan kamera digital modern sering kali menyimpan gambar dengan petak piksel mentah yang tidak diputar dan mengandalkan tag orientasi EXIF yang disematkan untuk menginstruksikan perangkat penampil agar memutar gambar. Misalnya, 90 derajat searah jarum jam untuk orientasi potret. Demikian pula, profil warna ICC yang disematkan menentukan cara warna ditampilkan di berbagai monitor.
Untuk membantu memastikan operasi yang dapat diprediksi, pipeline edge pengoptimalan gambar secara otomatis menormalisasi gambar sebelum menjalankan transformasi apa pun.
Proses normalisasi
Sebelum menjalankan transformasi, mesin edge membaca tag orientasi EXIF dan metadata profil warna ICC, lalu menerapkannya secara fisik ke petak piksel. Hal ini membantu memastikan prediksi koordinat untuk parameter
cropdanresizeberikutnya.Operasi, seperti
crop,resize, atauscale, dijalankan dengan benar terhadap dimensi visual yang sebenarnya untuk mencegah kesalahan visual.Setelah menerapkan penyesuaian pada piksel inti, mesin edge akan menghapus semua metadata yang tidak penting dari file untuk memaksimalkan penghematan ukuran. Secara default, nilai ini mempertahankan
copyrightkecuali jika nilai tertentu diminta dalam operasi metadata.