AWT (Abstract Window Toolkit) এবং Java's ImageIO API ব্যবহার করে ছবি প্রদর্শন এবং সেভ করা যায়। BufferedImage ক্লাস একটি ইমেজ অবজেক্ট তৈরি করতে ব্যবহৃত হয় যা গ্রাফিক্যাল অপারেশন যেমন ছবির রেন্ডারিং, পরিবর্তন, এবং সেভিং-এর জন্য ব্যবহার করা যায়। ImageIO হলো একটি utility ক্লাস যা ইমেজ রিড এবং রাইট করার কাজ সহজ করে।
নিচে একটি উদাহরণ দেওয়া হল, যেখানে BufferedImage এবং ImageIO ব্যবহার করে একটি ইমেজ রিড করা হবে এবং পরবর্তীতে সেটি স্ক্রীনে প্রদর্শন এবং সেভ করা হবে।
উদাহরণ: BufferedImage এবং ImageIO ব্যবহার
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
public class ImageExample {
public static void main(String[] args) {
// একটি ফ্রেম তৈরি
Frame frame = new Frame("AWT BufferedImage and ImageIO Example");
// ইমেজ লোড করার জন্য BufferedImage ব্যবহার
BufferedImage image = null;
try {
// ইমেজ ফাইল রিড করা
image = ImageIO.read(new File("path_to_image.jpg"));
} catch (IOException e) {
System.out.println("Error loading image.");
e.printStackTrace();
}
// একটি প্যানেল তৈরি যেখানে ইমেজ রেন্ডার করা হবে
Canvas canvas = new Canvas() {
public void paint(Graphics g) {
super.paint(g);
// গেমত পেইন্টিং কল করে ইমেজ প্রদর্শন
if (image != null) {
g.drawImage(image, 0, 0, this);
}
}
};
// প্যানেল ফ্রেমে যোগ করা
frame.add(canvas);
// উইন্ডোর আকার নির্ধারণ
frame.setSize(image.getWidth(), image.getHeight());
frame.setVisible(true);
// একটি নতুন ফাইল হিসেবে ইমেজ সেভ করা
try {
// ইমেজটি PNG ফরম্যাটে সেভ করা
ImageIO.write(image, "png", new File("saved_image.png"));
System.out.println("Image saved successfully!");
} catch (IOException e) {
System.out.println("Error saving image.");
e.printStackTrace();
}
// উইন্ডো বন্ধ করার জন্য
frame.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent we) {
System.exit(0);
}
});
}
}
কোডের ব্যাখ্যা:
BufferedImageব্যবহার করা:BufferedImage image = ImageIO.read(new File("path_to_image.jpg"));এই লাইনটি একটি ইমেজ ফাইল রিড করার জন্য ব্যবহার করা হয়েছে। এখানে"path_to_image.jpg"আপনার ফাইলের পাথ হতে হবে।BufferedImageক্লাসে ইমেজের সব পিক্সেল তথ্য থাকে, যা আপনি পরবর্তীতে বিভিন্ন গ্রাফিক্যাল অপারেশনে ব্যবহার করতে পারেন।
ImageIO.read()এবংImageIO.write():ImageIO.read()ব্যবহার করে আমরা একটি ইমেজ ফাইল (যেমন JPEG, PNG) রিড করি এবং তাBufferedImage-এ লোড করি।ImageIO.write()ব্যবহার করে আমরা একটি ইমেজ সেভ করি। এখানে ইমেজটিPNGফরম্যাটে সেভ করা হয়েছে।
Canvasএবংpaint()মেথড ব্যবহার:Canvasহল একটি AWT কম্পোনেন্ট যা কাস্টম পেইন্টিং প্রদর্শন করতে ব্যবহার করা হয়।paint(Graphics g)মেথডে,g.drawImage(image, 0, 0, this);কোডটি ছবিটি স্ক্রীনে প্রদর্শন করার জন্য ব্যবহৃত হয়েছে।
- ফ্রেমের আকার এবং উইন্ডো ক্লোজিং:
- ফ্রেমের আকার ইমেজের আকার অনুযায়ী সেট করা হয়েছে।
- উইন্ডো বন্ধ করার জন্য
WindowListenerব্যবহার করা হয়েছে।
ফলাফল:
- ইমেজ প্রদর্শন: আপনি যেই ছবিটি রিড করেছেন তা স্ক্রীনে প্রদর্শিত হবে।
- ইমেজ সেভ করা: ছবিটি
saved_image.pngনামক একটি ফাইলে সেভ হবে।
এভাবে, BufferedImage এবং ImageIO ব্যবহার করে ইমেজ রিড, প্রদর্শন এবং সেভ করার কাজ করা যায়।
Content added By
Read more