Parancssoros képmanipuláció Linuxon
- F-Spot Fotókezelő
- Gthumb képmegjelenítő
- ImgSeek
- Gimp
De jó ha tudjuk, hogy egyszerűen, parancssorból a Convert (ImageMagick) binárisok segítségével mi magunk is tudunk akár hasonló szoftvert gyártani, vagy képeinket manipulálni. A leírtakhoz szükség lesz az ImageMagick telepítésére: apt-get install imagemagick;
Kép átméretezés
A képek új méretét megadatjuk %-os formában vagy pixelben is. A -resize vagy -scale után adjuk meg a kép új méretét szélleség x magasság formátumban. (pl.: 200x150 pixel vagy 10%x15%). A következő paraméter az Input fájl majd az kimeneti fájl neve.
- convert [-paraméterek] [input fájl] <output fájl>
- convert -resize 10%x15% gyor.jpg szazalek_10x15_gyor.jpg
- convert -resize 200x150 gyor.jpg pixel_200x150_gyor.jpg

Kimenet tömörítésének beállítása:
Az előzményekben leírt paraméterek maradnak de kiegészítjük a -quality érték [0-100] párossal. Az új kép az értéknek megfelelően lesz tömörítve. Tapasztalat alapján a 75 alatti értékek már jól látható változásokat okoznak, ezért inkább nagyobb számokat használjunk.
- convert -resize 200x150 -quality 20 gyor.jpg pixel_200x150_gyor.jpg
- JPEG/MIFF/PNG fájloknál
Kép formátum konvertálás
A művelet elvégzéséhez az Input fájl nevét és az kimeneti fájl nevét kell megadni. A kiterjesztések alapján a megfelelő formátumba kerül a végeredmény.
- convert gyor.jpg gyor.png
Kép forgatása
A kép elforgatásához a fogatás fokát kell megadnunk (-rotate 90).
- convert -rotate 90 gyor.jpg forgatas_90_gyor.jpg
- convert -rotate -90 gyor.jpg forgatas-90_gyor.jpg

Kép effektek:
A convert segítségével akár effekteket is készíthetünk képünkből. Ezek a műveletek jóval lassaban hajtódnak végre. Valahol ez az a pont mikor elfelejthetjük a saját grafikus alkalmazás fejlesztését. A műveletek némelyike komoly erőforrásokat igényel.
- convert -sketch 10 gyor.jpg sketch_gyor.jpg
- convert -sketch 30 gyor.jpg sketch_30_gyor.jpg
- convert -solarize 20 gyor.jpg solarize_gyor.jpg
- convert -swirl 45 gyor.jpg swirl_gyor.jpg &
- convert -wave 100x300 gyor.jpg wave_gyor.jpg

Szöveg elhelyezése a fotón
Vízjelet is rakhatunk a képre, sőt az Exif információkat is manipulálhatjuk, törölhetjük. Ha nem adunk meg font paramétereket akkor az alapértelmezett színekkel, betűkészlettel és mérettel fog megjelenni a szöveg.
- convert -draw 'text 50,50 "Lorem ipsum Dolor Ament"' gyor.jpg text_gyor.jpg
-draw paraméter text 50,50 a kíírás kezdő kordinátája.
- convert -fill red -pointsize 40 -draw 'text 20,30 "Lorem ipsum Dolor Ament"' gyor.jpg text40_gyor.jpg
-fill red a festés színe
-pointsize 40 a betű képpontjainak mérete

Képinformációk kinyerés
Egy fotó rengeteg olyan információt hordoz (EXIF adatokat), amiket megjeleníthetünk vagy akár törölhetünk is. Az EXIF adatokat magunk is módosíthatjuk, vagy méret csökkentés céljából akár törölhetjük is. Elhelyezhetünk képekben szerzőre vonatkozó információkat, de extrém esetben akár titkosított állományt is (ez utóbbit nem ismertetném :-).
Néhány infó mit tartalmazhat egy kép:
- Fényképezőgép típus
- Fényképezési beállítások
- Formátum
- Méret
- Minőség, tömörítési arány
- Színmélység
- Milyen szoftverrel pofozgatták
- stb..
Megjelenítése: identify [képnév.ext]
A visszatérési értékek akár egyenként is ki lehet nyerni a formátum megadásával. (-format).
- identify gyor.jpg
alap információkat szolgáltat
JPEG 600x610 600x610+0+0 DirectClass 8-bit 62.9766kb - identify -verbose gyor.jpg
Ha bekapcsoljuk a bőbeszédű üzemmódot akkor rengeteg információt kapunk
Kép részlet kivágása
A tárgy képből kiragadunk egy 320x200 pixeles darabot a 200,300 (x,y) pixel kezdőponttól.

- convert gyor.jpg -crop 300x200+200+300 crop_gyor.jpg
vagy daraboljuk fel a képet 100x100 kockákra:
- convert -crop 100x100 gyor.jpg crop100x100_gyor.jpg
Csoportos műveletek Bash:
- for j in `ls *.jpg`; do convert -resize 200x150 -quality 75 $j s_$j; done
A beépített grafikus felületen történő képszerkesztésre a display is alkalmazható:
- display [kepnev.ext]

Letölthető állományok:
A leíráshoz csatoltam egy LAMP webszerveren működő böngészőben futtatható PHP programot, valamint a parancssoros változatát. A progi egy adott mappában található nagyméretű képekből elkészíti a kisméretű változatot, adott formátumban. Ha a sh_ kiterjesztésű fájlt bemásoljuk az /usr/bin könyvtárba, akkor globálisan elérhető lesz. A jogosultságról ne feledkezzünk el.
A letöltések között található továbbá a teljes kép és kód állomány, amit teszteléshez használtam.
Webszerverről működő változat. Előtte be kell állítani az útvonalakat, kiterjesztéseket, méretet, minőséget.
<?php
set_time_limit(0);
error_reporting(0);
/* Forrás képek helye */
$input_dir="/var/www/test/bence/";
/* Cél képek helye */
$output_dir="/var/www/test/bence/s/";
/* mappa létrehozás */
if(!file_exists($output_dir)){
mkdir($output_dir, 0777);
}
/* forrás kiterjesztése */
$input_ext="jpg";
/* kimenet kiterjesztése */
$out_ext="jpg";
/* kimenet mérete
* -resize 10%x15%
* -resize 300x200
* */
$out_size="-resize 400x400";
/* kimenet minősége
* 0-100
* 75< x <100 elfogadható minőség
* */
$out_quality="-quality 75";
/* fajlok és műveletek */
$fajlok=scandir($input_dir);
foreach($fajlok as $fajl){
if(preg_match("/{$input_ext}/i", $fajl)){
$out_fajl=str_replace("{$input_ext}", "{$out_ext}", strtolower($fajl));
system("convert $out_size $out_quality {$input_dir}{$fajl} {$output_dir}{$out_fajl}");
chmod ("{$output_dir}{$out_fajl}", 0777);
}
}
?>
Shell Script változat:
> /usr/bin/php
<?php
set_time_limit(0);
error_reporting(0);
$help=<<<HELP
--------------------------------------------------------------
sh_batch_img.php [/input/dir/] [/output/dir/] [input extension(jpg|png|gif|..)] <output extension(jpg|png|gif|..)] [size(400x400|15%x20%)] [quality(0-100)]
script.php input_dir output_dir input_ext output_ext size quality
for j in `ls *.jpg`; do convert -resize 200x150 -quality 75 $j s_$j; done
pl.:
sh_batch_img.php /home/kep/nagy/ /home/kep/pici/ png jpg 150x100 75
--------------------------------------------------------------
HELP;
$c=sizeof($argv);
if($c<=1){
die("keves parameter!n".$help);
}
//print_r ($argv);
//exit;
/* Forrás képek helye */
$input_dir=$argv[1];
/* Cél képek helye */
$output_dir=$argv[2];
/* mappa létrehozás */
if(!file_exists($output_dir)){
mkdir($output_dir, 0777);
}
/* forrás kiterjesztése */
$input_ext=$argv[3];
/* kimenet kiterjesztése */
$out_ext=$argv[4];
/* kimenet mérete
* -resize 10%x15%
* -resize 300x200
* */
$out_size="-resize {$argv[5]}";
/* kimenet minősége
* 0-100
* 75< x <100 elfogadható minőség
* */
$out_quality="-quality {$argv[6>}";
/* fajlok és műveletek */
$fajlok=scandir($input_dir);
foreach($fajlok as $fajl){
if(preg_match("/{$input_ext}/i", $fajl)){
$out_fajl=str_replace("{$input_ext}", "{$out_ext}", strtolower($fajl));
system("convert $out_size $out_quality {$input_dir}{$fajl} {$output_dir}{$out_fajl}");
chmod ("{$output_dir}{$out_fajl}", 0777);
}
}
?>
Könyvajánló:
http://www.packtpub.com/imagemagick/book
A tartalomhoz kapcsolódó linkek:
Cikkhez tartozó letöltés(ek):
pxzgko-batch_img.php.zip- Csoportos képműveletek PHP és Convert bináris segítségével. Localhost LAMP, PHP - System függvény, Convert (ImageMagick) igénnyel.
596 Byte
application/zip
9fn5ca-sh_batch_img.php.zip- Csoportos képátméretezés SHELL script PHP - System függvény, Convert igénnyel
873 Byte
application/zip
jb7o1u-convert_opendir_help.zip- A teszt állományok kóddal együtt letölthetők. Futtatáshoz Linux, Convert bináris kell.
2241724 Byte
application/zip
Bejegyzés küldése
További kapcsolódó oldalak
- jQuery Loader V2
- Mysql Ajax Table Editor
- Grafikon készítése egyszerűen
- NetBeans IDE használata FTP,SFTP-n keresztül
- Adminer alternatív PHPMyAdmin
- Web-design csere fájldalommentesen
- KFM webes fájlmenedzser
- Php Framework CodeIgniter alapok
- Videó letöltés és átalakítás PHP-vel
- Memcache használata
- NetBeans IDE gyorsbillentyűk
- Smarty Editor NetBeans Plugin
- PHP MYSQL Smarty Online CRUD generátor
- Webfejlesztési eszközök Linuxon
- NetBeans IDE 6.5 telepítése Ubuntura
- Aptana Stúdió telepítése Linuxra
- Html to PDF álom
- PHP forrás formázás
- JavaScript programozás PHP utasításokkal
- Ügyfélnyilvántartó demó
- Zend Framework és Doctrine
- Fájlok tárolása MySQL adatbázisban, PHP segítségével
- SQL Insert teszt
- Regexp Vagy Like, melyiket szeressem
- Webes kódtöredék kezelés Ubuntura WCS
- Website uptime monitoring
- PHP,Zenity,ImageMagick képmanipuláció Ubuntu Linuxon
- Smarty AJAX függvények
- Zenity GTK+ GUI PHP-vel
- PHP array, String CheatSheet
- Alapvető műveletek PHP és MySQL adatbázis kapcsolatához
- $Smarty puska 1.
- Virtuálhost létrehozása localhoston
- Dokumentumok konvertálása
- kód optimalizálás tömböknél
- Curl funkciók telepítése XAMPP webszerverre
- Barátságos URL átirányítás
- PHP MySQL cheatSheet
- Forrás összehasonlítás, eltérés felderítés
- PHP, SQLite CheatSheet
Blogmarkok
Simple Chat
Egyszerû szöveges fájl alapú PHP chat progi.
Showcase of Interesting Navigation Designs
Érdekes menü, navigáció megvalósítások.
Több mint 306 magyar Linkgyûjtemény
Érdekes gyûjtemény magyar katalógusokról, linkgyûjteményekrõl, cikk katalógusokról. PR érték és alkalmazás szerinti megjegyzéssel. Igényes munka és használható forrás, weblap népszerûsítéshez. Az egyik legjobb hazai publikus SEO lista.
AdMax SEO Toolbar
Firefox kiterjesztés SEO eszközként.
Identica PHP
Identi.ca mikroblog szolgáltatáshoz PHP class, egyszerû használattal.
Twitter OAuth PHP
PHP Oauth részletes leírás, avagy hogyan használhatod távolról a Twittert.
Lightweight PHP Picasa API Version 3.0
PHP osztály Picasa képgaléria elemeinek a kezelésére. RSS-bõl feldolgozza az albumokat és képeket.

Blogmark felhő
- Új, jquery, php, plugin, css, gfx, seo, tools, javascript, online, menu, tipp, ui, mysql, google, class, framework, lib, html, flash, gallery, firefox, pdf, js, ajax, web-design, speedup, form, codeigniter, template, oop, joomla, table, maps, linux, upload, security, book, color, cheatsheet, mvc, web, font, api, fejlesztes, gimp, zend framework, editor, php5, input, generator, slider, ubuntu, design, wordpress, lightbox, css3, effekt, free, sql, netbeans, test, snippet, leiras, zf, drupal, tanulas, twitter, python, tooltip, html5, newsletter, db, graph, open source, grafikon, wysiwyg, tarhely, jqueryui, cms, memcache, ide, smarty, photos, gyujtes, theme, browser, json, file, firebug, link, canvas, gyujtemeny, pattern, xhtml, scroll, xml, gui, tutorial, foto, rss, icons, player, image, code, grid, url, orm, gd, php oop, chrome, apache, ftp, regexp, extension, programozas, docs, website, video, kereso, basic
Top5 webes fájlmenedzser
A gyűjtésben szereplő elemek weben keresztül valósítanak meg fájlkezelést. A kiválasztásnál kiemelt szempont volt az egyszerű deszktop jellegű szoftverektől megszokott kényelem, a biztonság és a többfelhasználós beállítási lehetőség, egyszerű integrálhatóság és a felhasználhatósági (licenc) szempontok.
2009-5 kedvenc jQuery pluginje
2009-ben is vannak kedvenc jQuery plugin-jeim. Ezt szeretném veletek megosztani.
Úgy érzem kicsit változtam, a plugin választás a funkcionalitáson túl egy picit a parasztvakítás is bejátszik.
(Parasztvakítás (PW): olyan effektek aminek a gyakorlatban szinte semmi haszna nincs, de szemet gyönyörködtető)
Nem..
10 hasznos FireBug kiterjesztés
Hasznos FireBug képességeit kiterjesztő pluginek. Bár a FireBug önmagába is egy rendkívül jól használható Firefox kiterjesztés. De elérhető hozzá néhány nagyon profi kütyü, ami sokszor önálló funkciót valósít meg, de az esetek nagyobb részében a FirBug képességeit combosítják ki.
Ha még nem ismernéd a
50 Hasznos Firefox kiterjesztés Linuxra
Kedvenc Linuxon is működö Firefox kiterjesztések, mindennapos felhasználásra és webfejlesztőknek.
A addon-ok működnek Windows-os rendszereken is, de a cikk kifejezetten a Linuxra elérhető és hasznos Firefox kiterjesztésekből szemezget.
A Firefox 3.0 megjelenésekor már volt egy
350 hasznos Gimp effekt, Plugin, Script-Fu
Hasznos pluginek, Script-fu-k, effektekkel, technikai megoldások gyűjteménye Gimp 2.6.X verziójához.
A cikknek célja az, hogy egyszerű megoldást adjon Gimp-hez, pluginek beszerzésére.
Szerencsére vannak olyan önzetlen projektek ahol összegyűjtik számunkra ezeket a nélkülözhetetlen eszközöket. Így sikerült összehozni 5 bejegyzésben..
Szoftverek
ArtH2O Blog tartalmából:
PHP Twitter Codeigniter OAuth
2010 Augusztus végétől már csak OAuth-on keresztül lehet bejegyzéseket küldeni a Twitterre illetve a hitelesítés ezen keresztül megy. Sok megoldás létezik a dologra, de mindegyik eléggé nyakatekert és nem igazán akarnak működni.Érdemes elolvasnod a cikket, ha néhány óra kísérletezés meg szeretnél úszni!
10 hasznos új Codeigniter lib
Több okból is szeretem a Codeigniter keretrendszert. Az egyik oka, hogy ezt választottam keretrendszerül az nem más mint az egyszerűség. A másik az, hogy nem kell feltalálni a kereket, mert szinte minden tud, amire nekem egy alap alkalmazásnál szükségem lehet. Biztonságos, gyors és egyszerűen tanulható, jól dokumentált, szerethető rendszer. De a bejegyzés nem erről szól, hanem néhány 2010-es hasznos Codeigniter Lib-ről.
Stílusos űrlap elemek
Nem egy
szerű minden űrlap elemnek stílust adni. Gyakorlatilag checkbox, select, radio, file elemeknek nagyon nem is lehet, vagy csak részben. Erre találtak ki egy érdekes technikát, ami a működés közben az eredeti HTML elemet elfedi és azt egy grafikai elemmel helyettesíti. pl.: Egy checkbox, vagy radio esetében 2 állapota van bekapcsolt és kikapcsolt. Ha lehet kerüljük ezeket a technikákat, mert nagyon böngészőfüggő a működésük. Ha lehet maradjunk az eredeti űrlap elemeknél és azt csinosítsuk.
Térképes cég-és weblapkatalógus
Már régóta szerettem volna egy olyan oldalt, ami weblapkatalógusként működik, de kicsit másképpen közelíti meg a dolgokat, mint a jelenleg piacion lévő katalógusok. Egy ilyen újszerű kezdeményezésem volt a szintén Codeigniter alapú Twitt.hu, ami egyben linkrövidítő szolgáltatás is. De a sok jó tulajdonsága mellet, még mindig hiányoltam benne valamit. Ezt a plusz dolgot sikerült beleplántálnom a RegionalisBank.info cég-és weblapkatalógusba.
Kép átméretezés és cache
Van néhány hasznos Smarty plugin, ilyen a Thumb nevű bővítmény is. Nagyon sokáig nem fejlesztették, már azt gondoltam kihalt alóla a fejlesztés, de 2010-ben egy újabb változat jelent meg belőle. Smarty 2.6.X és PHP 5.X.Y verzióhoz.A bővítménnyel a sablonon tudunk képméreteket legyártani és gyorsítótárazni.

