File konfigurasi • Modul • Font • Variabel lingkungan
ImageMagick bergantung pada sejumlah sumber daya eksternal, termasuk file konfigurasi, modul yang dapat dimuat, font, dan variabel lingkungan.
File konfigurasi
ImageMagick bergantung pada sejumlah file konfigurasi eksternal yang dijelaskan di sini:
- coder.xml
- Mengaitkan format gambar dengan modul coder yang ditentukan. ImageMagick memiliki sejumlah modul coder untuk mendukung pembacaan dan/atau penulisan suatu format gambar (misalnya JPEG). Beberapa modul coder mendukung lebih dari satu format gambar terkait, dan pemetaan antara format terkait dan modul coder-nya masing-masing didefinisikan dalam file konfigurasi ini. Misalnya, modul coder PNG tidak hanya mendukung format gambar PNG, tetapi juga format JNG dan MNG.
- colors.xml
- Mengaitkan nama warna dengan intensitas merah, hijau, biru, dan alpha-nya. Banyak opsi baris perintah memerlukan parameter warna. Sering kali lebih praktis merujuk warna dengan nama (misalnya white) daripada nilai hex (misalnya #fff). File ini memetakan nama warna ke intensitas merah, hijau, biru, dan alpha yang setara (misalnya untuk white, red = 255, green = 255, blue = 255, dan alpha = 0).
- configure.xml
- Mengatur parameter build ImageMagick dan variabel lingkungan seluruh sistem (misalnya MAGICK_TEMPORARY_PATH). Saat ImageMagick di-build, sejumlah parameter build disimpan ke file konfigurasi ini. Parameter tersebut mencakup versi, tanggal rilis, pustaka (library) delegate yang menjadi dependensi, dan kedalaman quantum, antara lain.
- delegates.xml
- Mengaitkan program delegate dengan format gambar tertentu. ImageMagick bergantung pada sejumlah program delegate untuk mendukung format gambar tertentu, seperti darktable untuk membaca format kamera raw atau Ghostscript untuk membaca gambar Postscript. Gunakan file konfigurasi ini untuk memetakan format input atau output ke program delegate eksternal.
- english.xml
- Mengaitkan tag pesan dengan terjemahan bahasa Inggris.
- francais.xml
- Mengaitkan tag pesan dengan terjemahan bahasa Prancis.
- locale.xml
- Mengaitkan tag pesan dengan terjemahan untuk locale Anda. ImageMagick memiliki sejumlah pesan informasi, peringatan, dan error yang direpresentasikan sebagai tag. Tag adalah deskripsi singkat suatu pesan, seperti FileNotFound atau MemoryAllocationFailed. File konfigurasi ini mendaftar locale yang memiliki terjemahan untuk setiap tag yang dikenali ImageMagick. Saat ini hanya terjemahan bahasa Inggris dan Prancis yang tersedia, masing-masing di file konfigurasi english.xml dan francais.xml.
- log.xml
- Mengonfigurasi parameter logging. ImageMagick mampu menghasilkan banyak sekali pernyataan informasi atau debugging. Gunakan file ini untuk mengonfigurasi bagaimana informasi tersebut akan muncul dalam pesan log dan ke mana Anda ingin pesan logging tersebut dikirim.
- mime.xml
- Mengaitkan tipe media internet dengan pengidentifikasi unik. Banyak file dan data stream memiliki pengidentifikasi yang secara unik mengidentifikasi tipe media internet tertentu. Misalnya, file berformat "Corel Draw drawing" (mime type="application/vnd.corel-draw") diasosiasikan dengan pola nama file *.cdr, dan juga memiliki string awal karakter "CDRXvrsn". ImageMagick menggunakan kombinasi informasi ini, jika tersedia, untuk mencoba menentukan tipe media internet suatu file atau data stream dengan cepat.
- policy.xml
-
Mengonfigurasi kebijakan keamanan ImageMagick. Secara default, semua coder, delegate, filter, atau path file diizinkan. Gunakan kebijakan untuk menolak akses, misalnya, ke delegate video MPEG, atau mengizinkan pembacaan gambar dari suatu sistem file tetapi menolak penulisan ke sistem file yang sama. Atau gunakan kebijakan resource untuk mengatur batas resource. Kebijakan berguna untuk server multi-pengguna yang ingin membatasi dampak keseluruhan ImageMagick terhadap sistem. Misalnya, untuk membatasi ukuran gambar maksimum dalam memori menjadi 100MP:
Gambar apa pun yang lebih besar dari batas area ini akan di-cache ke disk, bukan ke memori. Gunakan width untuk membatasi lebar maksimum gambar dalam piksel. Jika batas ini terlampaui, sebuah exception akan dilempar dan pemrosesan berhenti.
<policy domain="resource" name="width" value="8KP"/>
Untuk membatasi waktu proses (elapsed time) perintah ImageMagick mana pun menjadi 5 menit, gunakan kebijakan berikut:
<policy domain="resource" name="time" value="300"/>
Untuk kenyamanan, definisikan argumen untuk resource memory, map, dan disk dengan awalan SI (misalnya 100MB). Selain itu, kebijakan resource merupakan nilai maksimum untuk setiap instance ImageMagick (misalnya batas memory kebijakan 1GB, opsi -limit 2GB melebihi maksimum kebijakan sehingga batas memory-nya tetap 1GB).
- quantization-table.xml
- Tabel kuantisasi JPEG kustom. Aktifkan dengan -define:q-table=quantization-table.xml.
- thresholds.xml
- Mengatur peta ambang batas untuk ordered posterized dither.
- type.xml
- Mengonfigurasi font. Mendefinisikan name, family, foundry, style, format, metrics, dan glyphs untuk font apa pun yang ingin Anda gunakan di dalam ImageMagick.
- type-ghostscript.xml
- Mengonfigurasi font Ghostscript. Paket Ghostscript menyertakan sejumlah font yang dapat diakses dengan ImageMagick.
- type-windows.xml
- Mengaitkan nama dengan glyph font Windows.
Di Linux, ImageMagick mencari setiap file konfigurasi yang tercantum di atas dengan melihat ke lokasi-lokasi berikut, secara berurutan, dan memuatnya jika ditemukan:
$MAGICK_CONFIGURE_PATH
$PREFIX/etc/ImageMagick-7
$PREFIX/share/ImageMagick-7
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/etc/ImageMagick
Variabel lingkungan $PREFIX adalah path instalasi default (misalnya /usr/local). Client path adalah path eksekusi client ImageMagick Anda (misalnya /usr/local).
Untuk distribusi biner Linux pre-compiled yang tidak diinstal, urutan pemuatan konfigurasi adalah:
$MAGICK_CONFIGURE_PATH
$MAGICK_HOME/etc/ImageMagick-7
$MAGICK_HOME/share/ImageMagick-7
$PREFIX/share/ImageMagick-7
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick/
<client path>/etc/ImageMagick
<current directory>
Di Windows, ImageMagick mencari file konfigurasi ini dalam urutan berikut, dan memuatnya jika ditemukan:
$MAGICK_CONFIGURE_PATH
<windows registry>
$PREFIX/config
$USERPROFILE/.config/ImageMagick
<client path>
Di atas, $PREFIX adalah path instalasi default, biasanya c:\\Program Files\\ImageMagick-7.1.2.
Untuk instalasi Windows yang tidak diinstal, urutan pemuatan konfigurasi adalah:
$MAGICK_CONFIGURE_PATH
$MAGICK_HOME
$USERPROFILE/.config/ImageMagick
client path
<current directory>
Jika sebuah file konfigurasi tidak dapat ditemukan, ImageMagick mengandalkan nilai default bawaan.
Modul
Coder
Coder gambar (yaitu encoder/decoder) bertanggung jawab untuk meregistrasi, secara opsional mengklasifikasikan, secara opsional membaca, secara opsional menulis, dan membatalkan registrasi satu format gambar (misalnya PNG, GIF, JPEG, dll.). ImageMagick mencari coder dalam urutan berikut dan menggunakan kecocokan pertama yang ditemukan:
$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/coders
<client path>/../lib/ImageMagick-7.1.2/modules-Q16/coders
$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/coders
$MAGICK_HOME/share/ImageMagick-7.1.2/modules-Q16/coders
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/lib/ImageMagick-7.1.2/modules-Q16/coders
Filter
ImageMagick menyediakan mekanisme praktis untuk menambahkan algoritma pemrosesan gambar kustom Anda sendiri. ImageMagick mencari filter dalam urutan berikut dan menggunakan kecocokan pertama yang ditemukan:
$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/filters
<client path>/../lib/ImageMagick-7.1.2/modules-Q16/filters
$MAGICK_HOME/lib/ImageMagick-7.1.2/modules-Q16/filters
$MAGICK_HOME/share/ImageMagick-7.1.2/modules-Q16/filters
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/lib/ImageMagick-7.1.2/modules-Q16/filters
Font
ImageMagick dapat memuat file font TrueType dan Postscript mentah. ImageMagick mencari file konfigurasi font, type.xml, dalam urutan berikut, dan memuatnya jika ditemukan:
$MAGICK_CONFIGURE_PATH
$MAGICK_HOME/etc/ImageMagick/-7.1.2
$MAGICK_HOME/share/ImageMagick-7.1.2
$XDG_CACHE_HOME/ImageMagick
$HOME/.config/ImageMagick
<client path>/etc/ImageMagick
$MAGICK_FONT_PATH
Variabel lingkungan
Variabel lingkungan yang dikenali ImageMagick meliputi:
| HOME | Mengatur path untuk mencari file konfigurasi di $HOME/.config/ImageMagick jika direktori tersebut ada. |
|---|---|
| LD_LIBRARY_PATH | Mengatur path ke pustaka bersama ImageMagick dan pustaka dependensi lainnya. |
| MAGICK_AREA_LIMIT | Mengatur width * height maksimum sebuah gambar yang dapat berada di memori cache piksel. Gambar yang melebihi batas area akan di-cache ke disk (lihat MAGICK_DISK_LIMIT) dan secara opsional di-memory-map. |
| MAGICK_FILTER_MODULE_PATH | Mengatur search path yang digunakan saat mencari modul proses filter (dipanggil melalui -process). Path ini memungkinkan pengguna memperluas fungsionalitas pemrosesan gambar ImageMagick dengan menambahkan modul yang dapat dimuat ke lokasi pilihan, alih-alih menyalinnya ke direktori instalasi ImageMagick. Format search path ini mirip dengan search path sistem operasi (yaitu dipisahkan titik dua untuk Linux, dan titik koma untuk Microsoft Windows). Search path yang ditentukan pengguna ini dicari lebih dulu sebelum mencoba search path default. |
| MAGICK_CODER_MODULE_PATH | Mengatur path tempat ImageMagick dapat menemukan modul coder-nya. Path ini memungkinkan pengguna memperluas secara bebas format gambar yang didukung ImageMagick dengan menambahkan modul coder yang dapat dimuat dari lokasi pilihan, alih-alih menyalinnya ke direktori instalasi ImageMagick. Format search path ini mirip dengan search path sistem operasi (yaitu dipisahkan titik dua untuk Linux, dan titik koma untuk Microsoft Windows). Search path yang ditentukan pengguna ini dicari lebih dulu sebelum mencoba search path default. |
| MAGICK_CONFIGURE_PATH | Mengatur path tempat ImageMagick dapat menemukan file konfigurasinya. Gunakan search path ini untuk mencari file konfigurasi (.xml). Format search path ini mirip dengan search path sistem operasi (yaitu dipisahkan titik dua untuk Linux, dan titik koma untuk Microsoft Windows). Search path yang ditentukan pengguna ini dicari lebih dulu sebelum mencoba search path default. |
| MAGICK_DATE_PRECISION | Mengatur jumlah karakter maksimum yang dicetak untuk stempel waktu mana pun. |
| MAGICK_DEBUG | Mengatur opsi debug. Lihat -debug untuk deskripsi opsi debugging. |
| MAGICK_DISK_LIMIT | Mengatur jumlah maksimum ruang disk dalam byte yang diizinkan untuk digunakan oleh cache piksel. Jika batas ini terlampaui, cache piksel tidak akan dibuat dan pesan error dikembalikan. |
| MAGICK_ERRORMODE | Mengatur mode error proses (khusus Windows). Penggunaan umum misalnya nilai 1 untuk mencegah dialog mode error menampilkan message box dan membuat aplikasi hang. |
| MAGICK_FILE_LIMIT | Mengatur jumlah maksimum file cache piksel yang terbuka. Jika batas ini terlampaui, piksel berikutnya yang di-cache ke disk akan ditutup dan dibuka kembali sesuai kebutuhan. Perilaku ini memungkinkan sejumlah besar gambar diakses secara bersamaan di disk, tetapi dengan penalti kecepatan akibat pemanggilan open/close yang berulang. |
| MAGICK_FONT_PATH | Mengatur path yang dicari ImageMagick untuk file font TrueType dan Postscript Type1. Path ini hanya dirujuk jika file font tertentu tidak ditemukan di direktori saat ini. |
| MAGICK_HEIGHT_LIMIT | Mengatur tinggi maksimum gambar. |
| MAGICK_HOME | Mengatur path di puncak direktori instalasi ImageMagick. Path ini dirujuk oleh build ImageMagick yang tidak diinstal, yang lokasinya tidak di-hardcode atau diatur oleh installer. |
| MAGICK_LIST_LENGTH_LIMIT | Mengatur panjang maksimum sebuah urutan gambar (image sequence). |
| MAGICK_MAP_LIMIT | Mengatur jumlah maksimum memory map dalam byte yang dialokasikan untuk cache piksel. Jika batas ini terlampaui, piksel gambar akan di-cache ke disk (lihat MAGICK_DISK_LIMIT). |
| MAGICK_MEMORY_LIMIT | Mengatur jumlah maksimum memori dalam byte yang dialokasikan untuk cache piksel dari heap. Jika batas ini terlampaui, piksel gambar akan di-cache ke disk yang di-memory-map (lihat MAGICK_MAP_LIMIT). |
| MAGICK_OCL_DEVICE | Setel ke off untuk menonaktifkan akselerasi hardware pada algoritma tertentu yang dipercepat (misalnya blur, convolve, dll.). |
| MAGICK_PRECISION | Mengatur jumlah maksimum digit signifikan yang dicetak. |
| MAGICK_SHRED_PASSES | Jika Anda ingin menjaga file sementara yang dibuat ImageMagick tetap privat, timpa file tersebut dengan nol atau data acak sebelum dihapus. Pada pass pertama, file dinolkan. Pada pass-pass berikutnya, data acak dituliskan. |
| MAGICK_SYNCHRONIZE | Atur ke "true" untuk memastikan semua data gambar sepenuhnya di-flush dan disinkronkan ke disk. Ada penalti performa, namun manfaatnya mencakup memastikan file gambar tetap valid jika terjadi crash sistem dan pelaporan dini jika ruang disk tidak mencukupi untuk cache piksel gambar. |
| MAGICK_TEMPORARY_PATH | Mengatur path untuk menyimpan file sementara. |
| MAGICK_THREAD_LIMIT | Mengatur jumlah maksimum thread paralel. Banyak algoritma ImageMagick berjalan paralel pada sistem multi-prosesor. Gunakan variabel lingkungan ini untuk mengatur jumlah maksimum thread yang diizinkan berjalan secara paralel. |
| MAGICK_THROTTLE_LIMIT | Secara berkala melepaskan (yield) CPU setidaknya selama waktu yang ditentukan dalam milidetik. |
| MAGICK_TIME_LIMIT | Mengatur waktu maksimum dalam detik. Jika batas ini terlampaui, sebuah exception akan dilempar dan pemrosesan berhenti. |
| MAGICK_WIDTH_LIMIT | Mengatur lebar maksimum gambar. |
| SOURCE_DATE_EPOCH | Sebuah stempel waktu UNIX, didefinisikan sebagai jumlah detik, tidak termasuk leap second, sejak 01 Jan 1970 00:00:00 UTC. Pengaturan khusus untuk pipeline build. Pengaturan ini menonaktifkan pengaturan time-to-live. |
Definisikan argumen untuk variabel lingkungan MAGICK_MEMORY_LIMIT, MAGICK_DISK_LIMIT, dan MAGICK_MEMORY_LIMIT dengan awalan SI (misalnya 100MB). MAGICK_WIDTH_LIMIT, MAGICK_HEIGHT_LIMIT, dan MAGICK_AREA_LIMIT menerima akhiran piksel seperti MP untuk mega-piksel (misalnya 100MP). Perhatikan, Anda dapat mempersempit batas relatif terhadap kebijakan keamanan mana pun, tetapi Anda tidak dapat melonggarkannya.