Gambaran keseluruhan
Image Resizer ialah aplikasi baris perintah yang dibina dengan .NET dan direka untuk mengubah saiz imej. Ia membolehkan anda mengubah saiz imej yang diberikan dengan menentukan saiz sasaran dalam bait dan folder output.
Alat ini bertujuan untuk mengekalkan keserupaan imej asal. Sebarang perbezaan sepatutnya kekal dalam toleransi penglihatan manusia.
Output alat ini menyasarkan nilai skor keserupaan visual 90% atau lebih tinggi dalam ujian perbandingan menggunakan algoritma korelasi silang.
Integrasi Import / Export
Fail yang disokong boleh diproses menggunakan fungsi export Glasswall Engine. Fungsi ini menghasilkan fail ZIP yang mengandungi semua imej yang diekstrak daripada dokumen asal.
Ciri ini membolehkan pemprosesan tersuai bagi imej, yang kemudiannya boleh dimasukkan semula ke dalam dokumen asal menggunakan fungsi import.
Walau bagaimanapun, terdapat beberapa had integrasi yang perlu diberi perhatian:
- Menukar nama fail imej kepada apa-apa yang berbeza daripada nama asal akan menyebabkan kegagalan untuk meletakkan semula imej ke dalam dokumen semasa proses import.
- Nama fail adalah sensitif huruf besar-kecil.
- Jika saiz fail sesuatu imej melebihi saiz asal, import mungkin tidak berjaya.
Alat ini membolehkan pengguna mengubah saiz imej kepada saiz sasaran yang kurang daripada atau sama dengan saiz fail asal, sekali gus memastikan proses import yang lancar.
Penggunaan:
gw_image_resizer [options]
Pilihan:
-i, --in <filename> (REQUIRED) Input file name
-o, --out <filename> (REQUIRED) Output file name
-t, --target <max size in bytes> (REQUIRED) Target maximum output file size
-l, --memory-limit <max memory limit percentage> (OPTIONAL) An optional number that specifies the maximum amount of system memory percent the image resize is limited to [default: 50]
-T, --temp-dir <path> (OPTIONAL) Defines the path to an existing directory where temporary files are created during processing [default: $TMPDIR/.gw-image-resizer]
-?, -h, --help Show help and usage information
--version Show version information
Kod keluar
| Kod Keluar | Penerangan |
|---|---|
| 0 | Berjaya diubah saiz atau fail sudah pun pada saiz sasaran |
| 1 | Saiz sasaran fail input adalah kurang daripada sifar |
| 2 | Fail input tidak dapat ditemui |
| 3 | Fail input tidak dapat dimuatkan kerana rosak atau tidak disokong |
| 4 | Fail input tidak dapat dimuatkan atas sebab yang tidak diketahui |
| 5 | Sebahagian daripada laluan output tidak wujud |
| 6 | Tidak dapat menulis fail output atas sebab yang tidak diketahui |
| 7 | Ralat umum dalam pustaka magick semasa cuba mengubah saiz |
| 8 | Tidak dapat mencapai saiz sasaran yang dikehendaki |
| 9 | Ralat tidak dijangka |
| 10 | Pilihan had memori bukan antara 1-100 |
| 11 | Laluan direktori sementara tidak dapat ditemui |
| 12 | Tidak dapat menulis ke direktori sementara |
Direktori sementara
Untuk memastikan saiz fail berjaya diubah, semasa pemprosesan alat image resizer mungkin menggunakan direktori sementara yang terletak di "$TMPDIR/.gw-image-resizer" atau "/tmp/.gw.image-resizer". Ini boleh ditetapkan ganti kepada direktori sedia ada yang boleh ditulis dengan pilihan baris arahan pilihan "--temp-dir" (atau "-T" sebagai singkatan.)
NOTA: Jika direktori sementara tidak boleh ditulis (contohnya pengguna semasa tidak mempunyai kebenaran yang mencukupi) maka aplikasi akan gagal apabila data pemprosesan imej perlu dicache. Adalah disyorkan untuk menguji bahawa pengguna boleh menulis ke direktori tersebut bagi mengelakkan isu sporadik semasa operasi.
Mengehadkan memori
Secara lalai, peruntukan memori yang digunakan untuk mengubah saiz imej dihadkan kepada 50% daripada memori sistem. Ini boleh ditetapkan ganti kepada nilai antara 1-100 dengan pilihan baris arahan pilihan "-l".
Sokongan
Alat ini pada masa ini menyokong yang berikut:
- JPEG
- PNG
- BMP
- TIFF (lihat isu diketahui GeoTiff)
- GIF
Fail lain yang disokong oleh ImageMagick mungkin dimuatkan dengan betul tetapi belum dilaksanakan secara khusus.
Strategi pengubahan saiz
Semua fail imej yang disokong melalui satu set kaedah untuk mencapai saiz sasaran. Contohnya:
Kualiti pemampatan:
Fail JPEG / JPG ditetapkan kepada kualiti 25.
Fail PNG ditetapkan kepada 100.
Jenis fail lain kekal tidak berubah, namun kaedah pemampatan sentiasa ditetapkan kepada LZW.
Pengoptimuman GIF
Memandangkan GIF boleh terdiri daripada berbilang imej dan lapisan, terdapat potensi pengoptimuman yang boleh dilakukan untuk mengurangkan saiz fail.
Jika lapisan-lapisan berbeza bagi sesuatu imej mempunyai saiz yang berbeza, pengoptimuman dilakukan oleh Image Magick untuk mengurangkan saiz fail.
Jika tidak, GIF akan di-Coalesced, yang menggabungkan persamaan dalam imej-imej dalam turutan untuk mengurangkan saiz.
Ketelusan juga dioptimumkan pada peringkat ini, dengan menggantikan data piksel pendua merentas turutan dengan ketelusan.
Kuantisasi
Semua imej kemudiannya akan di-Quantized, yang akan mengehadkan bilangan warna kepada 128, tanpa mengubah nilainya jika sudah kurang daripada jumlah ini.
Penskalaan turun
Jika sasaran masih belum dicapai, imej kemudiannya akan diubah saiz sehingga sasaran dicapai. Resolusi dikurangkan kepada 95% daripada asal secara berterusan sehingga sasaran dicapai atau resolusi tidak lagi boleh dikurangkan.
Isu yang diketahui
Pemprosesan boleh membuang data lokasi daripada piksel dalam GeoTIFF. Selain itu, TIFF biasa mungkin mengalami pertukaran warna dalam imej skala kelabu.
Pustaka pihak ketiga
| Nama Pustaka | Versi Pustaka | Jenis | Jenis Lesen | URL Lesen | URL Projek | URL Sumber |
|---|---|---|---|---|---|---|
| System.CommandLine | 2.0.0-beta4.22272.1 | Pustaka | MIT | Pautan | Pautan | Pautan |
| System.CommandLine.Hosting | 0.4.0-alpha.22272.1 | Pustaka | MIT | Pautan | Pautan | Pautan |
| Magick.NET-Q8-AnyCPU | 13.10.0 | Pustaka | Apache-2.0 | Pautan | Pautan | Pautan |
Alat Image Resizer Glasswall menggunakan pakej NuGet "Magick.NET-Q8-AnyCPU" yang merupakan pembalut dotnet untuk ImageMagick.
ImageMagick sendiri ialah alat sumber terbuka percuma yang digunakan untuk menyunting dan memanipulasi imej digital.