18 Eylül 2008

JAR içinden animated gif nasıl okunur?

Şu yazımda bir jar dosyası içinden bir resim dosyasının nasıl okunacağını yazmıştım. Fakat bu yöntemi bir jar içinden animated gif dosyasını okumak için uygularsanız resim animated olmaz statik olur. Animated GIF dosyaları bir kaç tane resmin ard arda sıralanıp tek bir dosya haline getirilmesinden oluştur. Biz bu resimlere frame dersek JAR içinden bu resmi okuduğunuzda ilk frame size getirilir ve siz hareketsiz bir resim görürsünüz. Bunun çözümü ise tabiki tüm frameleri okumaktır. Bu nasıl yapılır:
// İlk önce class loader nesnesi alınır
ClassLoader cl = this.getClass().getClassLoader();
// okunacak animated gif resource olarak okunur
InputStream is = cl.getResourceAsStream("images/animatedpic.gif");
// resim byte olarak okunacağı için bir ByteArrayOutputStream nesnesi oluşturulur
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// -1 okuyana kadar resource'dan byte byte okunur ve output stream'e yazılır.
int r = 0;
while ((r = is.read()) != -1)
baos.write(r);
// Son olarak output stream byte dizisine dönüştürülür ve Image nesnesi oluşturulur.
Image image = Toolkit.getDefaultToolkit().createImage(baos.toByteArray());
// Bu image nesnesini de istediğiniz yerde kullanabilirsiniz.
JLabel label = new JLabel();
label.setIcon(new ImageIcon(image));

08 Eylül 2008

İpek Yolu

Selamlar,
"İpek Yolu" parçasını duymayanınız yoktur. Eğer duymadıysanız buyrun. Bu parça aslında Kitaro grubuna ait bir parçadır. Detaylı bilgi için buyrun. İşin garip yanı ben bu parçayı Kitaro'dan dinlemedim, Kervansaray grubunun 1. albümünde yer alıyordu ve NEY ile icra edilmişti, çok hoşuma gitmişti ilk dinlediğimde. Ben burada bu parçanın hocam Serpil CEYLAN tarafından tashih edilen notasını koymak istiyorum. İnternetteki arayışlarıma rağmen pek net bir sonuca ulaşamadım bu konuda. Umarım benim gibi bu parçanın notalarını arayanlara yardımcı olur: