php imagetiler
3.2.0
Skrip untuk PHP 7.4+ untuk memotong gambar (peta) menjadi beberapa bagian (ubin). Berdasarkan skrip ubin peta oleh Fedik. Skrip ini akan menjaga proporsi gambar masukan dan hanya menghasilkan ubin yang diperlukan - tidak perlu file masukan persegi!
membutuhkan komposer
composer.json (catatan: ganti dev-main
dengan batas versi)
{
"require" : {
"php" : " ^7.4 || ^8.0 " ,
"ext-imagick" : " * " ,
"chillerlan/php-imagetiler" : " dev-main "
}
}
Laba!
Gunakan contoh untuk pengujian langsung.
// invoke an options instance
$ options = new ImagetilerOptions ([
' zoom_min ' => 0 ,
' zoom_max ' => 8 ,
' zoom_normalize ' => 6 ,
' fill_color ' => ' transparent ' ,
' fast_resize ' => true ,
' optimize_output ' => true ,
// ... whatever you need
]);
// see https://github.com/psliwa/image-optimizer#configuration
$ optimizer = ( new OptimizerFactory ([]))-> get ();
// invoke and run the tiler
$ tiler = new Imagetiler ( $ options , $ optimizer );
$ tiler -> process ( ' /path/to/image.png ' , ' /path/to/output/ ' );
Itu saja!
Jika Anda mengalami masalah dengan ImageMagick yang mengeluh tentang tidak cukup ruang di jalur cache, Anda mungkin ingin memeriksa policy.xml
di jalur instalasi ImageMagick (di Windows). Untuk pertimbangan Anda: gambar 49152x49152 akan menghasilkan file cache ~28,5GB,
Imagetiler
metode | kembali | keterangan |
---|---|---|
__construct(ContainerInterface $options = null, LoggerInterface $logger = null) | - | lihat SettingsContainerInterface dan LoggerInterface . Memanggil objek ImagetilerOptions kosong dan PsrNullLogger jika parameter masing-masing tidak disetel. |
setOptions(ContainerInterface $options) | Imagetiler | mengatur opsi dengan cepat, dipanggil secara internal oleh konstruktor |
setOptimizer(Optimizer $optimizer) | Imagetiler | atur instance pengoptimal dengan cepat, yang dipanggil secara internal oleh konstruktor |
process(string $image_path, string $out_path) | Imagetiler | memproses gambar yang diberikan dari $image_path dan membuang hasilnya ke $out_path |
ImagetilerOptions
milik | jenis | bawaan | diizinkan | keterangan |
---|---|---|---|---|
$tile_size | ke dalam | 256 | int positif | lebar/tinggi satu ubin |
$zoom_min | ke dalam | 0 | int positif | tingkat pembesaran minimum |
$zoom_max | ke dalam | 8 | int positif | tingkat zoom maksimum |
$zoom_normalize | ke dalam | batal | int positif | tingkat zoom ini mewakili ukuran gambar asli. tingkat zoom yang lebih tinggi dari ini akan ditingkatkan, yang mungkin memerlukan waktu dan sumber daya tergantung pada ukuran gambar masukan. |
$tms | bodoh | PALSU | * | jika disetel ke true - titik asal akan disetel ke kiri bawah, +y ke atas, sesuai dengan Spesifikasi Layanan Peta Ubin, jika tidak, titik asal ada di kiri atas, +y ke bawah, seperti yang dijelaskan oleh spesifikasi Google Maps |
$fill_color | rangkaian | '#000000' | * | warna isian untuk sisa ruang, bisa transparan untuk png |
$memory_limit | rangkaian | '-1' | * | lihat pengaturan php.ini |
$store_structure | rangkaian | '%1$d/%2$d/%3$d' | * | struktur penyimpanan - bisa apa saja. %1$d = memperbesar, %2$d = x, %3$d = y. lihat sprintf() |
$fast_resize_upsample | bodoh | PALSU | * | menentukan apakah akan menggunakan Imagick::scaleImage() cepat (benar) atau Imagick::resizeImage() lambat (salah) |
$resize_filter_upsample | ke dalam | Imagick::FILTER_ROBIDOUXSHARP | Imagick::FILTER_* | lihat Imagick::resizeImage() dan konstanta filter Imagick |
$resize_blur_upsample | mengambang | 1.0 | pelampung positif | lihat Imagick::resizeImage() |
$fast_resize_downsample | bodoh | PALSU | * | lihat $fast_resize_upsample |
$resize_filter_downsample | ke dalam | Imagick::FILTER_LANCZOSRADIUS | Imagick::FILTER_* | lihat $resize_filter_upsample |
$resize_blur_downsample | mengambang | 1.0 | pelampung positif | lihat $resize_blur_upsample |
$tile_format | rangkaian | 'png' | png, jpg | lihat format Imagick |
$tile_ext | rangkaian | batal | * | ekstensi gambar ubin - terdeteksi otomatis dari format jika tidak ada yang diberikan. |
$quality_jpeg | ke dalam | 80 | 0-100 | kualitas gambar yang disimpan dalam format jpeg |
$imagick_tmp | rangkaian | batal | * | Folder ImageMagick tmp |
$overwrite_base_image | bodoh | PALSU | * | |
$overwrite_tile_image | bodoh | PALSU | * | |
$clean_up | bodoh | BENAR | * | apakah akan menghapus gambar sementara atau tidak |
$optimize_output | bodoh | PALSU | * | aktifkan pengoptimalan gambar (memerlukan instance Optimizer ) |
$no_temp_baseimages | bodoh | PALSU | * | apakah akan membuat dan menyimpan gambar dasar sementara atau tidak (dapat menghemat sumber daya) |