SIPS - Terminál není jen pro nadšence UNIXu - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se narodil známý fotograf František Drtikol?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Informace

SIPS - Terminál není jen pro nadšence UNIXu

8. července 2005, 00.00 | Článek o tom, že i webdesigner nebo člověk z DTP může používat příkazovou řádku.

V posledních několika měsících jsem strávil v naší diskusní skupině #mujmac poměrně dost času. Pokud jste se ještě nikdy nezkusili připojit, rozhodně to udělejte - samozřejmě, někdy jsou slabší dny, ale občas jsme si schopni docela vystačit :)

Sem tam někdo přijde s dotazem, který se poměrně složitě řeší pomocí grafického rozhraní a přitom je naprosto jednoduché ho vyřešit z příkazové řádky. Jenže já získal pocit, že někteří toto řešení jednoduše zavrhují, jakoby bylo slovo Terminál neslušné.

Následující text je o tom, jak lze Terminál a příkazovou řádku použít i v případě, že nejsem zrovna systémový administrátor nebo správce sítě. Místo planého popisování postupu na sucho mám reálný příklad z mé práce - kolegyně z obchodního oddělení připravují podklady pro naše webové stránky... Máme ne zcela složitý systém založený na PHP a MySQL, který už dnes používá kdejaká firma - to znamená webové stránky s dynamickým obsahem, který je uložen v databázi. Ti, kteří vkládají data se nestarají o to, jak se budou zobrazovat, naopak, jejich úkolem je zadávat texty bez atributů a obrázky ve správně velikosti. A to druhé je právě kámen úrazu - představte si počítač v obchodním oddělení - u nás jsou to Windows XP (bohužel) a Money S3 (taky bohužel). Je poměrně jednoduché vysvětlit, jakým způsobem zadávat do systému nové produkty - děje se tak přes standardní browser na Windows - Internet Explorer, ale jak to udělat s obrázky? Zatím se mi nepodařilo postoupit dál než k tomu, že zdrojové soubory nesmí obsahovat speciální znaky a češtinu, ale to, aby měly správné rozlišení a pro rozměry, to jsem vzdal... Řešíme to tedy tak, že kolegyně ukládají obrázky do jednoho adresáře na serveru a já je hromadně upravuji.

Představme si, že máme ve složce 100 obrázků z různých zdrojů, v různých formátech (GIF, JPEG, PNG, PSD) a v různých velikostech. Prostě obvyklá situace. A co má být výsledek? Všechny obrázky jako png ve velikosti, která žádným rozměrem nepřekročí 110 pixelů.

Jak na to?
Protože jsem člověk z grafického prostředí, první úvaha je samozřejmě Adobe Photoshop. No vlastně Adobe Image Ready, protože budeme publikovat na web, ale já stejně vždy na všechno používám Photoshop. Jenže tady je problém číslo jedna - Adobe Photoshop stojí peníze a to docela dost. Ale dejme tomu, že jeho licenci vlastním. Přestože jsem z grafického prostředí, poslední verzi, kterou jsem používal při své práci, byla verze 5. Teď máme CS2 a přestože se GUI skoro nemění, občas provedou vývojáři nějakou optimalizaci, která úplně změní zažité postupy. Pochybuji, že bych bez bližší znalosti poslední verze nastavil Action, která bude dělat to, co chci dříve, než za 15 minut. Navíc, nejsem si jist, že bych dokázal udělat nastvení tak, aby žádný z rozměrů nepřesáhl 110 pixelů.

Druhá varianta, která mne napadla, byla Macromedia (Adobe) FireWorks. Je to na tvorbu obrázků web podle mne nejlepší software, ovšem nejsem si jist, že umí pracovat se skupinou obrázků, tuhle funkci jsem od něj nikdy nechtěl, tak ani nevím, jestli tam je.

Třetí variantou by byl software, shareware, Graphic Converter. Ten určitě umí pracovat s mnoha formáty, má podporu pro práci se skupinou obrázků, ale také se nedomnívám, že by uměl měnit velikost podle většího rozměru.

A co zbývá? Ještě jsem nevysvětlil, co je ten sips. SIPS je scriptable image processing systém a je standardní součástí instalace Mac OS X od verze 10.3 Pokud někdo z vás používá AppleScript, a využil někdy tzv. Image Events, pak využíval právě SIPS. Pro jednoduchost - jde o nástroj určený k podávání informací nebo úpravě obrázků a ICC profilů.

Jak tedy lze vyřešit můj problém se sto obrázky? Jedním příkazem:
 
cd _cesta ke složce_
sips --resampleHeightWidthMax 110 -s format png *
Dejte pozor, původní soubory se takto přepíšou, pokud chcete raději zachovat původní soubory a vytvořit upravené nově, byl by příkaz asi takhle:
 
sips --resampleHeightWidthMax 110 -s format png  * --out nejaka_slozka

Všimli jste si, jak to bylo rychlé? Na mém PowerBooku 1.25GHz, jsem zmenšil obrázek 33,6MB v tiffu na 110 pixelů v png za 1.16 sekundy! Pokud si chcete podobné měření pro zajímavost zkusit sami, stačí, kdy před příkaz ještě napíšete time.

Tohle byl jednoduchý způsob, jak předvést, že i příkazová řádka může mít smysl pro DéTéPáky a webové grafiky. SIPS umí crop, přidat/odebrat profil, měnit formáty souborů, získávat informace o obrázcích:

 
sips -g all /Users/rcerny/temp/ICG.tif 
/Users/rcerny/temp/ICG.tif
  pixelWidth: 2973
  pixelHeight: 3593
  typeIdentifier: public.tiff
  format: tiff
  formatOptions: default
  dpiWidth: 300.000
  dpiHeight: 300.000
  samplesPerPixel: 3
  bitsPerSample: 8
  hasAlpha: no
  space: RGB
  profile: Photocal profile 19.12.2002

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Tipy a Triky  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: