10 tane png biçeminde resim var bunları xpm formatına çevireceğim. hepsini tek seferde ve isimlerinide isim_16x16.png yapmak istiyorum. Nasıl yaparım.
Bu tarz işler için en uygun araç ImageMagick.
http://www.imagemagick.org/Usage/
Bu sayfada çok çeşitli uygulama alanları var, eminim senin istediğin çok zor bir şey olmasa gerek. En temel bölümlerde bulabilirsin aradığını.
Temelde çevirme işi kolay:
convert resim.png resim.xpm
Ancak diğeri bash betiğine giriyor. Eğer topluca yaptırmayı da bulamam diyorsan belki birileri bakınır :) Ayrıca sen bir de isim değişikliği istiyorsun ki mutlaka betik kullanılmak zorunda.
Imagemagick programını kurduktan sonra, bu işi şöyle bir betikle yapabilirsiniz:
#!/bin/bash
IFS=$'\n'
mkdir ./converted
for i in *.png; do
echo "$i"
convert $i ./converted/"$i.xpm" && echo "OK"
done
rename -f "s/\.png\.xpm/_16x16.xpm/" ./converted/*
exit 0
İkinci satırdaki
IFS=$'\n'
ifadesi, Bash betiğinin içerisinde boşluk bulunan dosya isimlerinin düzgün işlenmesini sağlıyor.
Bu dosyayı, *.png resimlerle aynı klasöre cevir.sh olarak kaydedip, konsoldan:
chmod +x cevir.sh
ile çalıştırılabilir yaptıktan sonra:
./cevir.sh
ile betiği çalıştırabilirsiniz.
[IMG]http://img205.yukle.tc/thumbs/8557Clipboard01.jpg[/img] (http://img205.yukle.tc/image.php?id=8557Clipboard01.jpg) [IMG]http://img205.yukle.tc/thumbs/778Clipboard02.jpg[/img] (http://img205.yukle.tc/image.php?id=778Clipboard02.jpg) [IMG]http://img205.yukle.tc/thumbs/9208Clipboard03.jpg[/img] (http://img205.yukle.tc/image.php?id=9208Clipboard03.jpg) [IMG]http://img205.yukle.tc/thumbs/2374Clipboard04.jpg[/img] (http://img205.yukle.tc/image.php?id=2374Clipboard04.jpg)
bu bende çalışmadı hata verdi. Dosyalar applications-mutlimedia diye isimleri filan var bu yüzden sorun yaşadı. Başka nasıl yapabilirim çoook önceleri 1-2 yıl once böyle bir şey yapmıştım ama nasıl yaptım hiç hatırlamıyorum.
microsoft toplu iş dosyasi hazırlayıp wine ile çaliştıramaz mıyız?
for k in $(ls *.svg); do convert $k -resize 16x16 $k.xpm; done
komutuyla istediğimi yapabilmeme rağmen isimler dosya_ismi.svg.xpm oluyor bunu nasıl düzeltebilirim.
Not: Bu yeterli oldu.
rename -f "s/\.svg\.xpm/_16x16.xpm/" *
Ne güzel tavsiyeler gelmiş. Sorun çözüldü mü acaba? Bir de @erginemr'in verdiği tavsiye neden çalışmadı pek anlayamadım. Ona detaylı bir izah gelirse sonraki arkadaşlar için de faydalı olacaktır.
@ns, Windows'a hiç gerek yok. Linux'ta bu kabuk olduktan, perl, python gibi destek diller sorunsuz çalıştıkan sonra Windows'un yapamayacağı bir dünya iş yapılabilir :)
Alıntı yapılan: heartsmagic - 02 Eylül 2008 - 00:47:05
@ns, Windows'a hiç gerek yok. Linux'ta bu kabuk olduktan, perl, python gibi destek diller sorunsuz çalıştıkan sonra Windows'un yapamayacağı bir dünya iş yapılabilir :)
acemilik işte:D
erginemr'nin verdiği betik çalışmadı çünki dosya isimleri applcations-network filan yani şu klasik simge isimleri bu isimleri ele alırken hata yaşadı. Son yazdığım kod mükemmel çalışıyor tavsiye ederim.
Win olsa git şu proramı kur bunu kur, linuxun farkı :) .
Yalnız sizin son yazdığınız kodda simgeler *.svg formatında görünüyor. Halbuki ilk mesajınızda bu resimlerin *.png formatında olduğunu belirtmiştiniz. Bir de fazladan resimleri yeniden boyutlamışsınız. Geri kalan kod, temelde benim yazdığımın aynısı.
Elinize sağlık. Kde kullananlara kullandığım ve çok faydasını gördüğüm bir servicemenu tavsiyem olacak;
http://www.kde-look.org/content/show.php/Converter?content=69981
Alıntı yapılan: erginemr - 05 Eylül 2008 - 09:47:34
Yalnız sizin son yazdığınız kodda simgeler *.svg formatında görünüyor. Halbuki ilk mesajınızda bu resimlerin *.png formatında olduğunu belirtmiştiniz. Bir de fazladan resimleri yeniden boyutlamışsınız. Geri kalan kod, temelde benim yazdığımın aynısı.
Ya bilmiyorum belki benim hatamdandır. Önemli değil sonuçta çözüm bulduk.
Başlığı kapatmadan ismini değiştirelim bari :)
ufak not bu şekilde çevirirken arkplanda sorun oluşabiliyor mesela şeffaf arkaplanlı svg biçimli dosya png biçimine bu şekilde dönüştürüldüğünde arkplan şeffaf yerine beyaz olabiliyor araştırdım ama bir sonuç bulamadım buda bilginize.