منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

تعلم كيفية تحويل صيغ الصور من صيغة إلى أخرى بأستخدام تطبيقات الجافا

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

تعلم كيفية تحويل صيغ الصور من صيغة إلى أخرى بأستخدام تطبيقات الجافا Empty تعلم كيفية تحويل صيغ الصور من صيغة إلى أخرى بأستخدام تطبيقات الجافا

مُساهمة من طرف زهراء الجمعة سبتمبر 27, 2013 9:57 am

م الله الرحمن الرحيم 

توفر الجافا الاسلوب write() لتحويل بين صيغ الصور المختلفة ....هذا الاسلوب ينتمى للطبقة ImageIO و التى تقع تحت الحزمة javax.imageio ....ويتم استخدام الاسلوب على النحو التالى :

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


وكما ترى ...فهذا الأسلوب يقبل المعلمات الثلاث التالية :

1_ RenderedImage image ....يحدد الصورة المدخلة أو التى سيتم تحويلها لصيغة أخرى مع تحديد الفئة الفرعية RenderedImage كواجهة ...للحصول على كائن BufferedImage لقراءة الصورة المدخلة، ويمكن أن نستخدم قراءة (InputStream) والتي يتم توفيرها أيضا من قبل الطبقة ImageIO.

2_ formatName ....و يستخدم لتنسيق و لتحديد نوع مخرجات الصورة أو نوع التحويل أو نوع الامتداد المطلوب التحويل الية و يشمل الكثير من الصيغ مثل JPG, JPEG, PNG, BMP, WBMP , GIF

3_OutputStream ...و يستخدم لكتابة ملف الاخراج أو الصورة بعد تحديد ما سبق

مثال عملى : سنقوم بإنشاء تطبيق بسيط لتحويل الصور و ذلك على النحو التالى :

_ أستيراد المكتبات اللازمة

الكود:

import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
_ نقوم بإنشاء فئة وليكن بأسم ImageConverter ....وذلك على النحو التالى :

الكود:
class ImageConverter {
 
  
}
_ نقوم بانشاء طريقة ثابته و ليكن بأسم convertFormat بداخل الفئة السابقة والتي تأخذ ثلاث معلمات ...الاول أسم و مسار الصورة المراد تحويلها ، الثانى أسم و مسار حفظ الصورة المخرجة أو التى تم تحويلها ، الثالث أسم التنسيق المطلوب للتحويل و ذلك على النحو التالى :

الكود:
class ImageConverter {
 
    
    public static boolean convertFormat(String inputImagePath, String outputImagePath, String formatName) throws IOException {
        
      
    }
}
_ بداخل تلك الطريقة سنقوم بكتابة التعليمات البرمجية التالية :

1_ نقوم بانشاء مثيل جديد من كائن الادخال FileInputStream و كائن الاخراج  FileOutputStream مع تمرير مسار الادخال و الاخراج لكيهما وذلك على النحو التالى :

الكود:
 FileInputStream inputStream = new FileInputStream(inputImagePath);
        FileOutputStream outputStream = new FileOutputStream(outputImagePath);
2_ قراءة الصورة المدخلة و ذلك على النحو التالى :

الكود:
BufferedImage inputImage = ImageIO.read(inputStream);
3_ الاعلان عن متغير منطقى و كتابة صورة الاخراج مع تمرير مسار الادخال و الاخرا بالاضافة الى نوع التنسيق و ذلك على النحو التالى :

الكود:
 boolean result = ImageIO.write(inputImage, formatName, outputStream);
4_ إغلاق كائنات الادخال و الاخراج على النحو التالى :

الكود:
outputStream.close();
        inputStream.close();
5_ إرجاع قيمة المتغير المنطقى على النحو التالى :

الكود:
 return result;
و الكود النهائى لتلك الفئة ستكون على النحو التالى :

الكود:
class ImageConverter {
 
    
    public static boolean convertFormat(String inputImagePath, String outputImagePath, String formatName) throws IOException {
        
        FileInputStream inputStream = new FileInputStream(inputImagePath);
        FileOutputStream outputStream = new FileOutputStream(outputImagePath);
                
        BufferedImage inputImage = ImageIO.read(inputStream);
        boolean result = ImageIO.write(inputImage, formatName, outputStream);
        
        outputStream.close();
        inputStream.close();
        
        return result;
    }
}
_ فى الدالة الرئيسية للتطبيق نقوم بكتابة الشفرة التالية :

الكود:
 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();
        }
    }
حيث أن :

فى السطر الاول ...قمنا بالاعلان عن المتغير النصى inputImage  لتخزين فية اسم ومسار صورة الادخال
فى السطر الثانى ...قمنا بالاعلان عن المتغير النصى oututImage لتخزين فية أسم و مسار صورة الاخراج
فى السطر الثالث ....قمنا بالاعلان عن المتغير النصى formatName لتخزين فية نوع التنسيق

فى السطر الرابع ...قمنا بالاعلان عن المتغير المنطقى result و قمنا باستدعاء الفئة ImageConverter مع الطريقة convertFormat لتنفيذ التحويل بناء على المعلمات الثلاثة التى تم تمريها اليها

فى الاسطر الاخير أستخدام جملة شرط للتأكد من المتغير result صحيح و الذى يدل على نجاح عملية التحويل و طباعة رساة تفيد ذلك و العكس صحيح
زهراء
زهراء
........
........

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

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

تعلم كيفية تحويل صيغ الصور من صيغة إلى أخرى بأستخدام تطبيقات الجافا Empty رد: تعلم كيفية تحويل صيغ الصور من صيغة إلى أخرى بأستخدام تطبيقات الجافا

مُساهمة من طرف أحمد مناع الجمعة سبتمبر 27, 2013 5:40 pm


أشكرك الفاضلة زهراء ولكى منى أجمل تحية ...جزاك الله خيرا

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

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

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

ََ

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


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