Lumaktaw sa pangunahing nilalaman

Pangkalahatang-ideya

Ang Image Resizer ay isang command-line application na binuo gamit ang .NET na idinisenyo upang baguhin ang laki ng mga larawan. Pinapayagan ka nitong baguhin ang laki ng ibinigay na larawan sa pamamagitan ng pagtukoy ng target na laki sa bytes at isang output folder.

Layunin ng tool na mapanatili ang pagkakahawig ng orihinal na larawan. Anumang pagkakaiba ay dapat manatili sa loob ng mga limitasyon ng paningin ng tao.

Ang output ng tool na ito ay nakatuon sa halagang 90% o mas mataas na visuality similarity score sa mga paghahambing na pagsubok gamit ang isang cross correlation algorithm.

Integrasyon ng Import / Export

Maaaring iproseso ang mga sinusuportahang file gamit ang export function ng Glasswall Engine. Ang function na ito ay naglalabas ng isang ZIP file na naglalaman ng lahat ng larawang na-extract mula sa orihinal na dokumento.

Pinapayagan ng feature na ito ang custom na pagproseso ng mga larawan, na maaari pagkatapos ay muling ipasok sa orihinal na dokumento gamit ang import function.

Gayunpaman, may ilang limitasyon sa integrasyon na dapat tandaan:

  • Ang pagpapalit ng mga file name ng mga larawan sa anumang naiiba sa mga orihinal na pangalan ay magreresulta sa pagkabigo na maibalik ang mga larawan sa dokumento sa panahon ng proseso ng import.
  • Case sensitive ang mga file name.
  • Kung ang laki ng file ng isang larawan ay lumampas sa orihinal na laki, maaaring hindi maging matagumpay ang import.

Pinapahintulutan ng tool ang mga user na baguhin ang laki ng mga larawan sa isang target na laki na mas mababa sa o katumbas ng orihinal na laki ng file, na tinitiyak ang maayos na proseso ng import.

Paggamit:

gw_image_resizer [options]

Mga opsyon:

  -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

Mga exit code

Exit CodePaglalarawan
0Matagumpay na na-resize o ang file ay nasa target na laki na
1Ang target na laki ng input file ay mas mababa sa zero
2Hindi mahanap ang input file
3Hindi ma-load ang input file dahil sira ito o hindi suportado
4Hindi ma-load ang input file dahil sa hindi kilalang dahilan
5May bahagi ng output path na hindi umiiral
6Hindi maisulat ang output file dahil sa hindi kilalang dahilan
7Pangkalahatang error sa magick library habang sinusubukang mag-resize
8Hindi naabot ang nais na target na laki
9Hindi inaasahang error
10Ang opsyon sa memory limit ay wala sa pagitan ng 1-100
11Hindi mahanap ang path ng temporary directory
12Hindi makapagsulat sa pansamantalang direktoryo

Pansamantalang direktoryo

Upang matiyak ang matagumpay na pag-resize ng mga file, habang pinoproseso ay maaaring gumamit ang image resizer tool ng pansamantalang direktoryo na matatagpuan sa "$TMPDIR/.gw-image-resizer" o "/tmp/.gw.image-resizer". Maaari itong i-override sa isang umiiral na nasusulat na direktoryo gamit ang opsyonal na command line option na "--temp-dir" (o "-T" bilang pinaikling anyo.)

TANDAAN: Kung ang pansamantalang direktoryo ay hindi nasusulatan (hal. ang kasalukuyang user ay walang sapat na pahintulot) mabibigo ang application kapag kailangang i-cache ang data ng pagproseso ng imahe. Inirerekomendang subukan kung nakapagsusulat ang user sa direktoryo upang maiwasan ang paminsan-minsang mga isyu habang tumatakbo.

Paglilimita ng memory

Bilang default, ang memory allocation na ginagamit para sa pag-resize ng mga imahe ay nililimitahan sa 50% ng memory ng system. Maaari itong i-override sa halagang nasa pagitan ng 1-100 gamit ang opsyonal na command line option na "-l".

Suporta

Kasalukuyang sinusuportahan ng tool ang mga sumusunod:

  • JPEG
  • PNG
  • BMP
  • TIFF (tingnan ang kilalang isyu sa GeoTiff)
  • GIF

Maaaring mag-load nang tama ang ibang mga file na sinusuportahan ng ImageMagick ngunit hindi pa tahasang naipatupad.

Diskarte sa pag-resize

Lahat ng sinusuportahang image file ay dumaraan sa isang hanay ng mga pamamaraan upang maabot ang target na laki. Halimbawa:

Kalidad ng compression:

Ang mga JPEG / JPG file ay may quality na nakatakda sa 25.

Ang mga PNG file ay nakatakda sa 100.

Ang ibang mga uri ng file ay nananatiling hindi nababago, gayunpaman ang compression method ay palaging nakatakda sa LZW.

Pag-optimize ng GIF

Dahil ang mga GIF ay maaaring binubuo ng maraming larawan at layer, may mga posibleng optimization na maaaring gawin upang mabawasan ang laki ng file.

Kung ang magkakaibang layer ng isang larawan ay may magkakaibang laki, isinasagawa ng Image Magick ang Optimization upang mabawasan ang laki ng file.

Kung hindi, ang GIF ay iko-Coalesce, na pinagsasama ang mga pagkakatulad sa mga larawan sa sequence upang mabawasan ang laki.

Ang transparency ay ino-optimize rin sa puntong ito, pinapalitan ang duplicate na pixel data sa buong sequence ng transparency.

Quantize

Pagkatapos, ang lahat ng larawan ay ika-Quantize, na maglilimita sa bilang ng mga kulay sa 128, at hindi babaguhin ang halaga kung mas mababa na rito.

Downscaling

Kung hindi pa naaabot ang target, babaguhin ang laki ng larawan hanggang sa maabot ito. Ang resolution ay tuloy-tuloy na ibinababa sa 95% ng orihinal hanggang sa maabot ang target o hindi na nito kayang bawasan pa ang resolution.

Mga kilalang isyu

Maaaring alisin ng processing ang locational data mula sa mga pixel sa GeoTIFF. Bukod dito, ang mga karaniwang TIFF ay maaaring magkaroon ng pagbaligtad ng mga kulay sa mga grayscale na larawan.

Mga third-party na library

Pangalan ng LibraryBersyon ng LibraryUriUri ng LisensyaURL ng LisensyaURL ng ProyektoPinagmulan na URL
System.CommandLine2.0.0-beta4.22272.1AklatanMITLinkLinkLink
System.CommandLine.Hosting0.4.0-alpha.22272.1AklatanMITLinkLinkLink
Magick.NET-Q8-AnyCPU13.10.0AklatanApache-2.0LinkLinkLink

Ginagamit ng tool na Image Resizer ng Glasswall ang NuGet package na "Magick.NET-Q8-AnyCPU" na isang dotnet wrapper para sa ImageMagick.

Ang ImageMagick mismo ay isang libre at open source na tool na ginagamit para sa pag-edit at pagmamanipula ng mga digital na larawan.