[Cözüldü] png'den xpm'ye dönüştürme

Başlatan mbt28, 31 Ağustos 2008 - 16:53:10

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

mbt28

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.

atomkarinca

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ı.

heartsmagic

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.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

erginemr

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]  [IMG]http://img205.yukle.tc/thumbs/778Clipboard02.jpg[/img]  [IMG]http://img205.yukle.tc/thumbs/9208Clipboard03.jpg[/img]  [IMG]http://img205.yukle.tc/thumbs/2374Clipboard04.jpg[/img]


mbt28

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.

ns

 microsoft toplu iş dosyasi hazırlayıp wine ile çaliştıramaz mıyız?
Madem ki sen bensin, ben de senim, niceye şu senlik benlik...

mbt28

#6
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/" *

heartsmagic

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 :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ns

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
Madem ki sen bensin, ben de senim, niceye şu senlik benlik...

mbt28

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ı :) .

erginemr

#10
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ı.

atomkarinca

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

mbt28

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.

heartsmagic

Başlığı kapatmadan ismini değiştirelim bari :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

mbt28

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.