Imaj dosyalarının boyutlarını değiştirmek;
Source ve Destination path lerı belirli olan imaj (burada uzantısı .jpg) ın boyutlarını orantılı bir şekilde değiştirmek;
Burada 1600 * 1567 olan bir jpg uzantılı imaj üzerinde test ettim, sonuc olarak 1400 * 1400 olarak boyutlandırmaktı amacım;
Aşağıdaki method işimi gördü sizde ihtiyaç duyarsanız sizinkinide görür (:
public değişken
Kod: Kodu kopyalamak için üzerine çift tıklayın!
public static int width = 1400;
public static int height = 1400;
main metod
Kod: Kodu kopyalamak için üzerine çift tıklayın!
public void iodaImageResize() throws IOException {
String src = "***/abc.jpg";
String dest = "abc.jpg";
scale(src, width, height, dest);
}
resize metodu
Kod: Kodu kopyalamak için üzerine çift tıklayın!
public void scale(String src, int width, int height, String dest)
throws IOException {
BufferedImage bsrc = ImageIO.read(new File(src));
BufferedImage bdest =
new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bdest.createGraphics();
AffineTransform at =
AffineTransform.getScaleInstance((double) width / bsrc.getWidth(),
(double) height / bsrc.getHeight());
g.drawRenderedImage(bsrc, at);
ImageIO.write(bdest, "JPG", new File(dest));
}
Kod oldukca basit ve anlasılır, main metodunda 4 parametre alıyor ve scale methoduna yolluyor bu parametreleri, scale metoduda yapılcak iş olan yeniden boyutlandırma işini yapıyor.
Bu metod genellikle forumlardaki avatar, sosyal paylasım sıtelerındeki resım vs. gibi yerlerde kullanıyor.
Kaynak :
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]