AWT (Abstract Window Toolkit)-এ Image ক্লাস ব্যবহার করে ছবি লোড করা এবং প্রদর্শন করা যেতে পারে। Image ক্লাসটি java.awt.Image প্যাকেজে থাকে এবং এটি গ্রাফিক্যাল ইমেজ ফাইলগুলিকে লোড এবং প্রদর্শন করার জন্য ব্যবহৃত হয়।
Image ক্লাস দিয়ে ছবি লোড করা এবং প্রদর্শন:
AWT-তে ছবি লোড করতে Image ক্লাস এবং MediaTracker ব্যবহার করা হয়। ইমেজ লোড করার জন্য সাধারণত Toolkit ক্লাসের getImage() মেথড ব্যবহার করা হয়, এবং ইমেজ প্রদর্শনের জন্য paint() মেথডে drawImage() ব্যবহার করা হয়।
উদাহরণ: ছবি লোড করা এবং প্রদর্শন
import java.awt.*;
import java.awt.event.*;
public class ImageExample extends Frame {
private Image img;
// কনস্ট্রাক্টর যা ইমেজ লোড করে
public ImageExample() {
// Toolkit ব্যবহার করে ইমেজ লোড করা
Toolkit toolkit = Toolkit.getDefaultToolkit();
img = toolkit.getImage("image.jpg"); // এখানে 'image.jpg' আপনার ছবির ফাইল পাথ
// ফ্রেমের আকার সেট করা
setSize(500, 500);
setVisible(true);
}
// paint() মেথডে ইমেজ ড্র করার জন্য
public void paint(Graphics g) {
// drawImage() মেথড ব্যবহার করে ছবি আঁকা
g.drawImage(img, 50, 50, this);
}
// উইন্ডো বন্ধ করার জন্য উইন্ডো লিসেনার
public static void main(String[] args) {
ImageExample app = new ImageExample();
// উইন্ডো বন্ধ হলে প্রোগ্রাম বন্ধ করার জন্য
app.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
}
ব্যাখ্যা:
- Toolkit.getImage():
Toolkit.getDefaultToolkit().getImage("image.jpg")এর মাধ্যমে image.jpg ফাইলটি লোড করা হয়েছে। আপনি আপনার ছবি ফাইলের সঠিক পাথ প্রদান করবেন এখানে। - paint() মেথড: এই মেথডটি Graphics অবজেক্ট ব্যবহার করে ফ্রেমে ছবি আঁকতে ব্যবহৃত হয়।
g.drawImage(img, 50, 50, this)ইমেজটিকে (50, 50) অবস্থানে আঁকবে। - MediaTracker: ইমেজ লোড করার সময়, কিছু ক্ষেত্রে ইমেজ লোড সম্পন্ন না হওয়া পর্যন্ত এটি অ্যাসিঙ্ক্রোনাসলি কাজ করে। এমন পরিস্থিতিতে MediaTracker ব্যবহার করে লোড সম্পন্ন হওয়া চেক করা যেতে পারে।
MediaTracker ব্যবহার করে ইমেজ লোড করা:
import java.awt.*;
import java.awt.event.*;
public class ImageWithTracker extends Frame {
private Image img;
public ImageWithTracker() {
// Toolkit ব্যবহার করে ইমেজ লোড করা
Toolkit toolkit = Toolkit.getDefaultToolkit();
img = toolkit.getImage("image.jpg");
// MediaTracker তৈরি
MediaTracker tracker = new MediaTracker(this);
// ইমেজ ট্র্যাক করা
tracker.addImage(img, 0);
try {
// ইমেজ লোড হওয়া পর্যন্ত অপেক্ষা করা
tracker.waitForID(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
setSize(500, 500);
setVisible(true);
}
public void paint(Graphics g) {
// drawImage() মেথড ব্যবহার করে ছবি আঁকা
g.drawImage(img, 50, 50, this);
}
public static void main(String[] args) {
ImageWithTracker app = new ImageWithTracker();
app.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
}
ব্যাখ্যা:
- MediaTracker: এই ক্লাসটি ইমেজের লোডিং প্রক্রিয়াটি ট্র্যাক করে।
tracker.addImage(img, 0)মেথডের মাধ্যমে ইমেজ ট্র্যাক করা হয় এবংtracker.waitForID(0)মেথডের মাধ্যমে ইমেজ লোড হওয়া পর্যন্ত অপেক্ষা করা হয়। - waitForID(): ইমেজ লোড না হওয়া পর্যন্ত প্রোগ্রাম স্থগিত রাখে। এটি নিশ্চিত করে যে ইমেজটি সঠিকভাবে লোড হয়েছে।
AWT তে Image ক্লাস ব্যবহার করে ইমেজ লোড এবং প্রদর্শন করা খুবই সহজ। Toolkit ব্যবহার করে ইমেজ লোড করা হয় এবং Graphics.drawImage() ব্যবহার করে ইমেজটি স্ক্রীনে আঁকা হয়। MediaTracker ব্যবহৃত হলে, ইমেজ লোডিং প্রক্রিয়ার সাথে সঠিক সিঙ্ক্রোনাইজেশন নিশ্চিত করা যায়।
Read more