Java’da resim formatı değiştirmek, resim boyutlarını öğrenmek gibi temel işlemler kolayca yapılabilir. Yine de bu işlemleri bir genel amaçlı bir “resim işleme sınıfı” toplamak isteyebilirsiniz. Bu sayfada bulacağınız ImageUtil sınıfı böyle bir sınıf için iyi bir başlangıç olabilir. Şu anda sadece resim genişliği, yüksekliği, dosya boyutunu bulabiliyor, jpg, gif, png, bmp formatları arasında çevrim yapabiliyor. İlerleyen zamanlarda resim boyutu değiştirme, üstüne yazı yazma ve resme watermark ekleme gibi işlemleri de ekleyeceğim. ImageUtil‘i direkt olarak kullanmasanız bile kodlarını inceleyerek bu işlemlerin nasıl yapıldığını rahatlıkla öğrenebilirsiniz. Sonuçta bütün bu işlemler için Java ile gelen javax.imageio.ImageIO sınıfını kullanılmakta.
ImageUtil metotları resim dosyasını ‘dosya adı’ olarak değil de File sınıfı olarak almakta. Elinizde sadece dosya adı varsa File nesnesini aşağıdaki gibi oluşturabilirsiniz.
File dosya=new File("c:/dizinadi/resim.jpg");
Metotları burada tek tek açıklamayacağım, bütün açıklamalar JavaDoc formatında kodun içerisinde bulunmakta. Aşağıdaki örneğe bakarak da sınıfın nasıl kullanıldığını görebilirsiniz.
Örnekler:
Not: Bu örnek ImageUtil sınıfının main metodu içerisinde aynen bulunmakta.
try{ //test String filePath="d:/_dev/temp/"; //!!!bunu ve dosya adini degistirmeyi unutmayin!!! File f = new File(filePath+"test.png"); System.out.println("test.png: "+ImageUtil.findWidth(f)+"x"+ImageUtil.findHeight(f)); f=ImageUtil.convertTo(f, new File(filePath+"/test.gif"), ImageUtil.GIF); System.out.println("test.gif: "+ImageUtil.findWidth(f)+"x"+ImageUtil.findHeight(f)); f=ImageUtil.convertTo(f, new File(filePath+"/test.bmp"), ImageUtil.BMP); System.out.println("test.bmp: "+ImageUtil.findWidth(f)+"x"+ImageUtil.findHeight(f)); f=ImageUtil.convertToJpg(f, new File(filePath+"/test.jpg"), 0.9f); System.out.println("test.jpg: "+ImageUtil.findWidth(f)+"x"+ImageUtil.findHeight(f)); } catch(Exception e){ e.printStackTrace(); }