تحويل الصورة من صيغة الى اخرى فى Java

إرسال مساهمة في موضوع

اذهب الى الأسفل

تحويل الصورة من صيغة الى اخرى فى Java

مُساهمة من طرف زهراء في الثلاثاء نوفمبر 06, 2018 12:43 pm

في لغة الــــ Java ، لتحويل صورة من أحد أنواع التنسيق إلى آخر ، يمكن استخدم الطريقة write التي يوفرها الكلاس Class Image ضمن حزمة javax.imageio. 

وبالتالى يمكن أن ننشىء طريقة لتحويل صيغ الصور الى اخرى على النحو التالي:


الكود:
boolean write(RenderedImage image, String formatName, OutputStream output)


تقبل هذه الطريقة ثلاث معاملات:


  • image: تحدد الصورة المدخلة كفئة فرعية من الواجهة RenderedImage
  • formatName: تحدد اسم تنسيق الصورة الناتجة ، والتي يمكن أن تكون: JPG ، JPEG ، PNG ، BMP ، WBMP و GIF.
  • output: يحدد OutputStream الذي ستتم كتابة صورة الإخراج منه.


المثال التالى : يقوم بانشاء الفئة ImageConverter تحتوي على الطريقة convertFormat والتي تأخذ مسار صورة المدخلات ومسار صورة الاخراج واسم تنسيق صورة الاخراج:

الكود:

import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
 
import javax.imageio.ImageIO;
 
public class ImageConverter {

    public static boolean convertFormat(String inputImagePath,
            String outputImagePath, String formatName) throws IOException {
        FileInputStream inputStream = new FileInputStream(inputImagePath);
        FileOutputStream outputStream = new FileOutputStream(outputImagePath);
        
        // reads input image from file
        BufferedImage inputImage = ImageIO.read(inputStream);
        
        // writes to the output image in specified format
        boolean result = ImageIO.write(inputImage, formatName, outputStream);
        
        // needs to close the streams
        outputStream.close();
        inputStream.close();
        
        return result;
    }
}


و يمكننا استخدام الفئة السابقة لتغير تنسيق الصورة على النحو التالى :

الكود:

import java.io.IOException;
 
public class TestImageConverter {
 
    public static void main(String[] args) {
        String inputImage = "D:/Photo/Pic1.jpg";
        String oututImage = "D:/Photo/Pic1.png";
        String formatName = "PNG";
        try {
            boolean result = ImageConverter.convertFormat(inputImage,
                    oututImage, formatName);
            if (result) {
                System.out.println("Image converted successfully.");
            } else {
                System.out.println("Could not convert image.");
            }
        } catch (IOException ex) {
            System.out.println("Error during converting image.");
            ex.printStackTrace();
        }
    }
}
avatar
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 339
النقاط : 559
التقيم : 38
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
تستطيع الرد على المواضيع في هذا المنتدى