Ocena wątku:
- 0 Głosów - 0 Średnio
- 1
- 2
- 3
- 4
- 5
|
Masowe konwertowanie plikow svg do png
|
| Autor |
Wiadomość |
kuba010101
Użytkownik
Liczba postów: 3
Dołączył: 06-05-2011
Reputacja: 0
|
Masowe konwertowanie plikow svg do png
Czesc!
Zainstalowalem Imagemagic i za pomoca komendy:
Kod:
convert -format *.svg *.png
udalo mi sie przekonwertowac pliki, ale... chcialbym, aby nazwy plikow nie ulegaly zmianie, teraz mam *-0.png *-1.png" itd. Jak tego dokonac? A moze znacie jaki inny soft, ktory moglby by to zrobic?
Z gory dzieki za odp.
Linux Mint 10 Julia
|
|
| 06.05.2011 17:06:23 |
|
dragonn
Przyjaciel
Liczba postów: 709
Dołączył: 04-02-2009
Reputacja: 12
|
RE: Masowe konwertowanie plikow svg do png
Sam kiedyś napisałem sobie skrypt do tego:
Kod:
#!/bin/bash
echo -n "Podaj wysokość:"
read h
echo -n "Podaj szerokość:"
read w
dir -l | cut -b 47- | grep .svg > lista_plikow.log
linia=1
function svgpng () {
awk "NR==$linia{print;exit}" lista_plikow.log > plik.log
sed s/".svg"/".png"/ plik.log > plik.png.log
read plikpng < plik.png.log
read plik < plik.log
echo " "
inkscape -z "$plik" --export-width $w --export-height $h --export-png "$plikpng"
cat lista_plikow.log | wc -l > liczbalinii.log
read llinii < liczbalinii.log
if [ $llinii = $linia ]
then
echo "Skończyłem"
rm lista_plikow.log plik.log plik.png.log linia.log liczbalinii.log
exit
fi
echo $((linia+1)) > linia.log
read linia < linia.log
svgpng
}
svgpng
Skrypt jest trochę "dziwnie" napisany (pisałem go jak dopiero zaczynałem z bashem), ale powinien działać. Wymaga do funkcjonowania zainstalowanego inkscape.
|
|
| 06.05.2011 17:31:30 |
|
kuba010101
Użytkownik
Liczba postów: 3
Dołączył: 06-05-2011
Reputacja: 0
|
RE: Masowe konwertowanie plikow svg do png
Sorki, ale niby jak ma to dzialac? Nie chce zmianiac rozdzielczosci obrazka (konwertuje ikony), a tylko przekonwertowac.
|
|
| 06.05.2011 17:47:05 |
|
dragonn
Przyjaciel
Liczba postów: 709
Dołączył: 04-02-2009
Reputacja: 12
|
RE: Masowe konwertowanie plikow svg do png
kuba010101 pliki svg nie mają jako tako rozdzielczości, poczytaj to sobie http://pl.wikipedia.org/wiki/SVG sama nazwa o tym mówi Scalable Vector Graphics. Co najwyżej mogą mieć podaną rozdzielczość rekomendowaną, ale bez problemu z np. svg tuxa z wikipedii możesz zrobić sobie png 1000000x10000000 bez żadnej straty jakości.
EDIT
Możesz spróbować tak:
Kod:
#!/bin/bash
#echo -n "Podaj wysokość:"
#read h
#echo -n "Podaj szerokość:"
#read w
dir -l | cut -b 47- | grep .svg > lista_plikow.log
linia=1
function svgpng () {
awk "NR==$linia{print;exit}" lista_plikow.log > plik.log
sed s/".svg"/".png"/ plik.log > plik.png.log
read plikpng < plik.png.log
read plik < plik.log
echo " "
inkscape -z "$plik" --export-png "$plikpng"
cat lista_plikow.log | wc -l > liczbalinii.log
read llinii < liczbalinii.log
if [ $llinii = $linia ]
then
echo "Skończyłem"
rm lista_plikow.log plik.log plik.png.log linia.log liczbalinii.log
exit
fi
echo $((linia+1)) > linia.log
read linia < linia.log
svgpng
}
svgpng
Ale niczego nie obiecuje, bo tego nie sprawdzałem. Ja też konwertowałem tym ikony, i jako rozdzielczość podwałem to co potrzebowałem.
(Ten post był ostatnio modyfikowany: 06.05.2011 19:55:03 przez dragonn.)
|
|
| 06.05.2011 19:44:21 |
|
kuba010101
Użytkownik
Liczba postów: 3
Dołączył: 06-05-2011
Reputacja: 0
|
RE: Masowe konwertowanie plikow svg do png
Zbyt skoplikowany ten skrypt.  Dzieki.
Juz sobie poradzilem. Niestety skorzystalem z 2 programow. Pierwszy to Converseen, kilka klikniec (to nie tak, ze nie chce uzywac konsoli) i juz mialem dodane wszystkie pliki i konwertowane. Do usuniecia bialego tla uzylem imagemagic (-transparent white).
|
|
| 07.05.2011 06:55:44 |
|
stv
Używacz
Liczba postów: 122
Dołączył: 05-01-2009
Reputacja: 4
|
RE: Masowe konwertowanie plikow svg do png
Jeśli ktoś woli środowisko graficzne, to do wsadowego przetwarzania plików graficznych całkiem wygodny jest program Phatch
|
|
| 07.05.2011 13:13:32 |
|
Użytkownicy przeglądający ten wątek: 1 gości