[rešeno] Masovna obdelava slik

Za neko spletno stran potrebujem veliko zastavic različnih držav. Na netu sem našel eno celo selekcijo lepo oblikovanih zastav, ki pa so prevelike in v .png formatu. Sedaj me pa zanima, kater uproaben program v Ubuntu bi mi prišel prav, da bi te slikce v čimhitrejšem postopku zmanjšal na velikost 30x30px in spremenil format v .gif ali .jpg?

Komentarji

  • christooss Član Ubuntu.si
    Najlažje boš naredil to v konzoli!!

    imagemagick je zakon!!!

    Samo mal boš moral pogledat navodila potem pa samo argumente nastavis --size 30x30 --gif2jpg in bo šlo skozi za asteriksi *.png in ti bo samo pngje spremenil.
  • Torej..ker nism meu kaj za delat..in sm se dougočasu..sm se odloču napisat eno v easy bash skripto..
    naj najprej povem da je to PRVA bash skripta k sm jo napisu :)
    tko da je koda kr mal ..yucky :) in tisti k obvladajo bash se bodo zgrazali..ampak ok :)

    dosti tega se še da narest..tko da..vi kr..meni se več ne da ker se mi spi :)

    #!/bin/bash
    #made by CrazyLemon with HELP FROM #ubuntu-si @ freenode ..please make it better if you can :D

    echo "Vnesite absolutno pot do slik (primer: /home/username/Slike)"
    read directory

    echo "Vnesite kam želite spremenjene slike shranit (če ne navedete absolutne poti se datoteka ustvari v trenutnem direktoriju)"
    read newDir

    echo "Vnesite velikost slik"
    read size

    echo "Spreminjanje velikost slik v mapi "$directory""
    mkdir "$newDir";

    find "$directory" -iname "*.png" | \
    while read fajl; do
    echo "Spreminjam ""$fajl""..."
    base=`basename "$fajl" .png`
    convert "$fajl" -resize "$size" "$newDir"/"$base".jpg
    done

    echo "Spremenjeno! Vse spremenjene slike so zdej v "$newDir" direktoriju"
    tole shraniš kot resizer.sh
    in zalaufaš kot sh resizer.sh

    če ti tale skripta vse pobriše in zaj... celoten sisten kateri ti se zruši in zažge hišo..JS NE ODGOVARJAM.. uporaba na lastno odgovornost :D
  • Ql, sedaj šele zastopim pomen teh bash datotek. Am če prav zastopim je ukaz convert v paketu imagemagick? Grem mal raziskat. Tnx
  • tako je :)
    za več info pa
    man imagemagick
  • Eno težavo imam pri for zanki. Imena slikic imam poimenovane s presledkom, npr: "Slovenian Flag.png". Se mi zdi, da imam zato v "$file" samo celotno pot do slikce in prva beseda do presledka. Kako bi v "file" zapisal celotno pot in še celoten ime notri.
    Btw, zakaj je
    base=`basename "${file}" .png`
    tukaj file v zaviih oklepajih?
  • tako..posodobil sem zgornjo skripto..zdej dela tudi s presledki
    file z oklepaji ali brez ni važno vseeno dela normalno ..kolikor vidim oklepaji niso pomembni :)

    sporoči če skripta dela
  • Marek Član
    uredil/-a 8. July, 2009
    #!/bin/bash
    echo \"Vnesite absolutno pot do slik (primer: /home/username/Slike)\"
    read directory
    echo \"Vnesite velikost slik\"
    read size
    mkdir ~/Desktop/thumb
    for file in \"$directory\"/* ;
    do
    base=`basename \"$file\"`;
    echo \"Obdelujem \"\"$base\";
    convert \"$file\" -resize \"$size\" ~/Desktop/thumb/\"$base\"
    done


    sem pogoogla in popravu, majkami! hehe

    EDIT: si me mal prehitu. s tole mojo različico popravka mi dela normalno. aja pa premislu sem si. bom pustil kar v .png, ker je pri tako majhnih slikicah razlika v velikosti minimalna.
  • Če imaš malo barv, ti kaj drugega kot png in gif tako ali tako ne preostane.
  • gsedej Član
    uredil/-a 22. February, 2010
    Ok. Vidim da ste tukaj dosti CLI-lovers

    Za tiste, ki imate rajši klikanje, oziroma z drugimi besedami, nimate časa da bi se učili vseh ukazov lahko uporabite GUI programe:
    - gThumb Image Viewer - omogoča ti batch resizanje. Dobiš ga v add/remove
    - Google Picasa - mislim da omogoča. Poiščeš .deb paketek.
    - greš v Synaptic in dodaš paket "nautilus-image-converter". Odpreš Nautilus (pač eno mapo), klikneš z desnim, ter izbereš ustrezno opcijo. Nisem 100% da podpira več datotek hkrati.
    - Gwenview - super urejevalnik slik za KDE namizje
  • jaz imam tole :
    #!/bin/bash
    echo \"Naj preimenenujem končnice v male črke? (d/n)\"
    read da
    if da=\"d\"
    then i=0
    for ime in *.JPG
    do mv \"$ime\" \"${ime/.JPG}\".jpg
    ls -l \"${ime/.JPG}.jpg\"
    i=$[i+1]
    done
    echo Preimenoval sem \"$i\" JPG v jpg.
    fi
    ls *.jpg
    cp *.jpg /home/jaz/Slike/4inet/
    cd /home/jaz/Slike/4inet/
    mogrify -size 1024x768 -resize 1024x768 +profile \"*\" *.jpg
    ls -l *.jpg
    chmod 644 *.jpg
    exit

    ...in pa gThumb
Za komentiranje se prijavite ali pa se vpišite.