Indonesian (Bahasa Indonesia) translation by Sap (you can also view the original English article)
Clipping dan masking adalah fitur SVG yang memiliki kemampuan untuk menyembunyikan sebagian atau sebagian objek melalui penggunaan bentuk yang sederhana atau kompleks. Selama bertahun-tahun banyak pengembang telah mengambil kemampuan ini dan mendorong mereka ke berbagai arah. Dalam artikel ini, kita akan melihat beberapa metode canggih bersama dengan demo yang menampilkan kliping dan masking yang sangat efektif. Mari kita mulai!
Apa adalah kliping? Apa adalah Masking?
Mari kita menjawab pertanyaan ini pertama: what is the perbedaan antara clipping dan masking? Kita akan melihat ke dalam masing-masing untuk mendapatkan pemahaman yang lebih baik. Perlu diketahui bahwa sementara fitur yang paling diuraikan dalam spesifikasi pekerjaan hari ini, beberapa tidak akan. Selalu periksa caniuse serta Anda sendiri tes di browser.
Clipping
Clipping path adalah objek tempat segala sesuatu dalam bentuk yang ditentukan terlihat, sedangkan bagian luarnya "clipped out" dan tidak muncul di kanvas

Dalam contoh gambar di atas, kami bentuk (Envato logo) adalah objek yang kita akan menggunakan sebagai obyek path klip kami. Hasilnya adalah memotong keluar dari latar belakang solid yang meninggalkan hanya bentuk yang keras dalam bentuk kami "clipping region".
Masking
Di sini kita mengambil objek grafis atau bentuk yang akan dicat ke latar belakang melalui topeng, sehingga benar-benar atau sebagian masking keluar bagian dari objek.

Pikirkan masker sebagai cara untuk menerima wilayah terlihat yang sudah ditentukan oleh bentuk dan lokasi obyek. Dalam skenario ini masker kami adalah objek yang kita inginkan untuk "mengambil" dari kami padat warna latar belakang. Hasilnya adalah sebuah bentuk yang identik dengan topeng kami (yaitu padat hitam bentuk).
Distinction
Masih bingung perbedaan? Ada perbedaan yang sangat halus antara dua jenis pilihan. Pikirkan clipping path sebagai "hard mask" di mana objek clipping dihapus adalah bentuk tanpa piksel transparan atau buram yang ditampilkan. Masker terdiri dari bentuk atau gambar yang mana setiap pixel memiliki berbagai tingkat transparansi dan kegelapan yang bisa mengintip melalui, atau menyembunyikan bagian dalam cara yang sangat halus.
Sekarang mari kita bahas beberapa elemen dan atribut yang memungkinkan clipping dan masking di SVG.
clipPath
ClipPath
SVG menerima banyak atribut dan jenis konten model. Jenis konten model yang diterima adalah yang seperti judul
dan deskripsi
bersama dengan jenis lain dari tag meta data. Ini juga menerima SMIL animasi Tag seperti <animate>
, <animateTransform>
, SVG bentuk (lingkaran
, rect
, polypon
, path
) termasuk <text>
, <use>
, style
, dan <script>
. Anda bahkan dapat memiliki beberapa definisi clipPath di dalam clipPath orang tua.
Berikut adalah potongan menggunakan meta tag, SMIL dan SVG bentuk:
<svg viewBox="0 0 100 100" xmlns="https://www.w3.org/2000/svg" version="1.1"> <defs> <clipPath id="my-clip"> <title>My Clip Path</title> <desc>an svg rectangle using a circle as the clipping target and animated with SMIL</desc> <rect x="0" y="0" width="200" height="600"> <animate attributeType="XML" attributeName="x" from=“-200" to=“400" dur="5s" repeatCount="indefinite"/> </rect> </clipPath> </defs> <circle clip-path="url(#my-clip)" width="200" height="200" cx="50" r="50" cy="50" fill="green" /> </svg>
ClipPath
yang dibuat dalam SVG juga dapat direferensikan dari CSS menggunakan properti clip-path
seperti ini:
.element { clip-path: url("#my-clip"); }
Di sini saya referensi klip dari potongan SVG kami sebelumnya dengan fungsi url()
, dan melewati nilai id dari clipPath
kami. Ada juga pilihan untuk menggunakan citra sebagai target dari clipPath
:
<svg viewBox="0 0 200 300"> <defs> <clipPath id="clip"> <style> circle { fill: black; } </style> <circle cx="100" cy="100" r="100"/> </clipPath> </defs> <image height="100%" preserveAspectRatio="xMinYMin slice" width"100%" xlink:href="https://images.unsplash.com/photo-1472195870936-d88b0d4c1b41?ixlib=rb-0.3.5&q=85&fm=jpg&crop=entropy&cs=srgb&ixid=eyJhcHBfaWQiOjE0NTg5fQ%3D%3D&s=f1abbd4d59a9b448813cb48769806ada" clip-path="url(#clip)" /> </svg>
Gambar di potongan ini menggunakan SVG bentuk (lingkaran) sebagai objek clipping. Hasilnya adalah sebuah lingkaran dengan gambar itu; cukup mewah eh? Anda juga dapat melihat penyertaan tag style
dalam clipPath
. Setiap tag <style>
yang ditempatkan dalam clipPath
(atau mask
) akan menang atas atribut yang berhubungan, dan CSS eksternal.
clipPath atribut
Ada beberapa atribut clipPath
dapat menerima, dan tentu saja terlalu banyak untuk daftar. Atribut tertentu clipPath
layak diskusi artikel ini adalah clipPathUnits
dan clip-rule
. Di sini adalah lari ke bawah menggambarkan apa masing-masing, dan cara pilih nilai yang sesuai.
clipPathUnits
Atribut ini adalah salah satu yang sangat penting karena membantu mendefinisikan "koordinat sistem" atau dengan kata lain "lokasi" isi clipPath
. Itu menerima dua jenis nilai-nilai, tetapi hanya satu mungkin akan berlalu. Secara default userSpaceOnUse
dipilih, dan satu Anda akan biasanya menggunakan.
Subscribe below and we’ll send you a weekly email summary of all new Web Design tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post