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(); }