একটি নেতিবাচক চিত্রকে ইতিবাচক −
-এ রূপান্তর করতে-
ImageIO.read() পদ্ধতি ব্যবহার করে প্রয়োজনীয় ছবি পড়ুন।
-
ছবির উচ্চতা এবং প্রস্থ পান৷
৷ -
নেস্টেড ফর লুপ ব্যবহার করে ইমেজের প্রতিটি পিক্সেলের মধ্য দিয়ে যায়।
-
getRGB() পদ্ধতি ব্যবহার করে পিক্সেল মান পান।
-
একটি পিক্সেল থেকে প্রতিটি মান পুনরুদ্ধার করতে আপনাকে প্রতিটি রঙের প্রারম্ভিক অবস্থানে ডানদিকে স্থানান্তর করতে হবে যেমন লাল ইত্যাদির জন্য আলফা 16 এর জন্য 24 এবং 0Xff এর সাথে বিটওয়াইজ এবং অপারেশন সম্পাদন করতে হবে। এটি ভেরিয়েবলটিকে শেষ 8 বিট ছেড়ে বাকি সমস্ত বিট উপেক্ষা করে।
-
255 থেকে বিয়োগ করে নতুন লাল, সবুজ এবং নীল মান গণনা করুন।
-
ARGB-কে তাদের নিজ নিজ অবস্থানে বামে সরিয়ে একটি পিক্সেল পুনর্গঠন করুন এবং bitwise OR ব্যবহার করে তাদের সাথে যোগ দিন।
-
setRGB() পদ্ধতি ব্যবহার করে নতুন পিক্সেল মান (গুলি) সেট করুন।
উদাহরণ
import java.io.File; import java.io.IOException; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class Negative2Color { public static void main(String args[])throws IOException { //Reading the image File file= new File("D:\\Images\\cat_neg.jpg"); BufferedImage img = ImageIO.read(file); for (int y = 0; y < img.getHeight(); y++) { for (int x = 0; x < img.getWidth(); x++) { //Retrieving contents of a pixel int p = img.getRGB(x,y); //Getting the A R G B values from the pixel value int a = (p>>24)&0xff; int r = (p>>16)&0xff; int g = (p>>8)&0xff; int b = p&0xff; //Subtract RGB from 255 r = 255 - r; g = 255 - g; b = 255 - b; //Set new RGB value p = (a<<24) | (r<<16) | (g<<8) | b; img.setRGB(x, y, p); } } //Saving the modified image file = new File("D:\\Images\\negative_positive.jpg"); ImageIO.write(img, "jpg", file); System.out.println("Done..."); } }
ইনপুট
আউটপুট