CodeGym/Java Blog/এলোমেলো/Java.Awt.Color ক্লাস
John Squirrels
লেভেল 41
San Francisco

Java.Awt.Color ক্লাস

এলোমেলো দলে প্রকাশিত
সদস্যগণ
আপনি যদি জাভা অ্যাবস্ট্রাক্ট টুলকিট আয়ত্ত করেন তবে আপনাকে জাভা AWT কালার ক্লাসের অ্যাপ্লিকেশন শিখতে হবে। যেহেতু এখানে অনেক কনস্ট্রাক্টর এবং পদ্ধতি জড়িত, এটি প্রথমে ভয় দেখাতে পারে। তবে চিন্তার কিছু নেই, আমরা আপনাকে কভার করেছি :) জাভা AWT কালারে এই সম্পূর্ণ রানডাউনের সাথে, আপনি শিখবেন কিভাবে একটি নতুন রঙের ধরন তৈরি করতে হয় এবং অল্প সময়ের মধ্যে এটি পরিচালনা করতে হয়। আমরা কয়েকটি অনুশীলন পরীক্ষাও অফার করব যা আপনাকে আপনার দক্ষতা বাড়াতে সাহায্য করবে।

জাভাতে AWT কালার ক্লাস কি?

AWT Color এর প্রাথমিক উদ্দেশ্য হল ডেভেলপারদের RGB (লাল, সবুজ, নীল), RGBA (লাল, সবুজ, নীল, আলফা), বা HSB (হ্যু, স্যাচুরেশন, BRI উপাদান) প্যাকেজ ব্যবহার করে জাভা কোড ব্যবহার করে নতুন রঙ তৈরি করার অনুমতি দেওয়া। ক্লাসে দুটি মান রয়েছে - ছায়ার কোড এবং অস্বচ্ছতা/স্বচ্ছতার মান। Java.Awt.Color ক্লাস - 1এখানে আপনি কিভাবে java.awt.Color ক্লাস ঘোষণা করবেন:
public class Color
   extends Object
      implements Paint, Serializable
Class.java.awt.Color ব্যবহার করে বিভিন্ন ধরণের রঙ ঘোষণা করতে, বিকাশকারীরা কনস্ট্রাক্টর ব্যবহার করে - আমরা এখন সেগুলি দেখব।

জাভাতে AWT.Color Constructors

আপনি যে রঙটি তৈরি করতে চান তার প্যারামিটারের উপর নির্ভর করে, আপনাকে একটি নির্দিষ্ট ধরণের রঙ কনস্ট্রাক্টর ব্যবহার করতে হবে। এর মধ্যে কয়েকটি রয়েছে - আসুন একে একে পরীক্ষা করি।
  • Color(float r, float g, float b)RGB কালার স্কিমে অস্বচ্ছ রঙের সংজ্ঞা দিতে আপনি যে শ্রেণী ব্যবহার করেন। আপনি 0.0 এবং 0.1 এর মধ্যে যে কোনও জায়গায় রঙের পরিসর নির্দিষ্ট করতে পারেন।
  • Color(float r, float b, float g, float a)একটি শ্রেণী যা একটি RGBA রঙ সংজ্ঞায়িত করে (উপলব্ধ মানের পরিসীমা হল 0.0 এবং 0.1)।
  • Color(ColorSpace c, float[], co, float a)আপনার আগে থেকে উল্লেখ করা ColorSpace-এ একটি রঙ সংজ্ঞায়িত করে। একজন বিকাশকারী একটি সংজ্ঞায়িত আলফার ফ্লোট অ্যারেতে রঙের উপাদানগুলির পরিসর নির্দিষ্ট করে।
  • Color(int, rgb)একটি ক্লাস যা একটি RGB রঙ তৈরি করে (অস্বচ্ছ)। কনস্ট্রাক্টরের উপাদান মানের দিকে মনোযোগ দিতে ভুলবেন না - লালের জন্য 16-23, সবুজের জন্য 8-15, নীলের জন্য 0-7।
  • Color(int r, int g, int b)- একটি অস্বচ্ছ RGB রঙ সংজ্ঞায়িত করার জন্য ব্যবহৃত একটি পদ্ধতি। রঙের মান 0 এবং 255 এর মধ্যে থাকা উচিত।
  • Color(int r, int g, int b, int a)- RGBA স্কিমে একটি রঙ তৈরি করে (0-255)।
  • Color(int rgba, boolean b)একটি সংজ্ঞায়িত সম্মিলিত মানের মধ্যে sRGB রং তৈরি করতে ব্যবহৃত হয়। মানগুলির পরিসর আলফার জন্য 24-31, লালের জন্য 16-23, সবুজের জন্য 8-15 এবং নীলের জন্য 0-7 পর্যন্ত বিস্তৃত।
তা ছাড়া, class.awt.color ক্ষেত্রগুলির সাথে কাজ করে, যা থেকে উত্তরাধিকারসূত্রে প্রাপ্ত Java.awt.Transparency:
  • TRANSLUCENTরঙে আলফা মান রয়েছে কিনা তা প্রতিনিধিত্ব করে এবং এর দুটি মান রয়েছে - 0 এবং 1।
  • OPAQUEবস্তুটির সম্পূর্ণ অস্বচ্ছতার গ্যারান্টি দিয়ে 1 এর আলফা মান নির্ধারণ করে।
  • BITMASKপরম অস্বচ্ছতা বা স্বচ্ছতার মান উপস্থাপন করে এবং (0;1) এর সীমার মধ্যে রয়েছে যেখানে 0 সম্পূর্ণ স্বচ্ছতা এবং 1 হল চরম অস্বচ্ছতা।

জাভা AWT কালার ক্লাসের সাথে ব্যবহার করার জন্য শীর্ষ 15টি পদ্ধতি

একটি রঙ পরিচালনা করতে, এর অন্ধকার বা উজ্জ্বলতা সামঞ্জস্য করতে, জাভা বিকাশকারীরা বিভিন্ন পদ্ধতির উপর নির্ভর করে। সেগুলির কয়েক ডজন আছে তাই আপনাকে সেগুলিকে হৃদয় দিয়ে শিখতে হবে না। যাইহোক, যখন সবচেয়ে বেশি ব্যবহৃত জাভা AWT কালার পদ্ধতির কথা আসে, তখন আমরা তালিকাটি পনেরো পর্যন্ত সংকুচিত করেছি। জাভা API ডকুমেন্টেশন উল্লেখ না করেই এগুলো মনে রাখা ডেভেলপারদের জন্য সহায়ক হবে।

গাঢ়()

পদ্ধতিটি একটি নতুন রঙ তৈরি করতে ব্যবহৃত হয় যা আপনি ইতিমধ্যে সংজ্ঞায়িত রঙের একটি গাঢ় সংস্করণ। উদাহরণ :
Color.green.darker()
যদি darker()একবার প্রয়োগ করা আপনার প্রয়োজনীয় ছায়া তৈরি করার জন্য যথেষ্ট না হয়, তাহলে নীচে দেখানো হিসাবে আপনি যতবার চান পদ্ধতিটি পুনরায় প্রয়োগ করুন:
Color.green.darker().darker().darker().darker().darker()

উজ্জ্বল()

নামটি থেকে বোঝা যায়, Color brighter()আপনার ইতিমধ্যে থাকা ছায়াকে উজ্জ্বল করতে ব্যবহৃত হয়। একইভাবে darker(), এটি প্রতি একক রঙের জন্য একাধিকবার ব্যবহার করা যেতে পারে। উদাহরণ :
Color myColor = Color.RED;

    JLabel label = new JLabel("First Name");
    label.setForeground(myColor.brighter());

int getAlpha()

আপনি যদি আপনার রঙের আলফা উপাদানটি ফেরত দিতে চান তবে এই পদ্ধতিটি ব্যবহার করুন। মনে রাখবেন যে আলফা মানগুলি 0-255 সীমার মধ্যে থাকে৷ এখানে পদ্ধতির প্রয়োগ এবং রিটার্নের উদাহরণ। উদাহরণ :
alpha = Color.black.getAlpha();
return new Color(components[0], components[1], components[2], alpha);

স্ট্যাটিক কালার getColor (স্ট্রিং nm)

জাভা বিকাশকারীরা সিস্টেম বৈশিষ্ট্য ব্যবহার করে একটি রঙ সনাক্ত করতে এই পদ্ধতিটি ব্যবহার করতে পারে। অনুরূপ উদ্দেশ্যগুলি পরিচালনা করার অন্যান্য পদ্ধতি রয়েছে:
  • static Color getColor(String nm, int v)
  • static Color getColor(String nm, Color v)

স্ট্যাটিক কালার ডিকোড (স্ট্রিং এনএম)

এই পদ্ধতিটি একটি স্ট্রিং হিসাবে একটি রঙ প্রদর্শন করা হয়। রূপান্তর সম্পূর্ণ হওয়ার পরে, একজন বিকাশকারী একটি সংজ্ঞায়িত অস্বচ্ছ রঙ পাবেন। উদাহরণ :
public static Color decodeColor(String hexColor) {

 return Color.decode(hexColor);

PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints ইঙ্গিত)

এই পদ্ধতিটি জটিল দেখায় তবে এটি মনে হওয়ার চেয়ে এটি পরিচালনা করা সহজ। Paint Context CreateContext()বারবার কঠিন রঙের প্যাটার্ন সংজ্ঞায়িত করতে ব্যবহৃত হয়। উদাহরণ :
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds,

                  AffineTransform xform, RenderingHints hints)

 {
   try
   {
     return new AxialShadingContext(shading, cm, xform, matrix, deviceBounds);
   }
   catch (IOException e)

   {

     LOG.error("An error occurred while painting", e);

     return new Color(0, 0, 0, 0).createContext(cm, deviceBounds, userBounds, xform, hints);

   }
 }
}

float[] getComponents(ColorSpace cspace, float[] compArray)

এটি একটি জাভা পদ্ধতি যা আপনি একটি রঙের ফ্লোট অ্যারে এবং আলফা উপাদানগুলি ফেরত দিতে প্রয়োগ করতে পারেন। পদ্ধতিটি ColorSpacecspace দ্বারা সংজ্ঞায়িত একটি প্রদত্ত ক্ষেত্রে প্রযোজ্য। উদাহরণ :
public float[] getComponents(ColorSpace cspace, float[] compArray) {

return myColor.getComponents(cspace, compArray);

}

ColorSpace getColorSpace()

জাভা বিকাশকারীরা একটি নির্বাচিত রঙের জন্য রঙের স্থান ফেরত দিতে এই পদ্ধতিটি ব্যবহার করতে পারে। প্রদত্ত এন্ট্রির জন্য রঙের স্থান পাওয়ার আরেকটি উপায় হল Arrays.to.String প্রয়োগ করা। এটি একটি আরও জটিল কৌশল, যেমনটি নীচের উদাহরণে দেখা গেছে: উদাহরণ :
public class Main {
  public static void main(String[] args) {

    Color myColor = Color.RED;

    System.out.println(Arrays.toString(myColor.getComponents(ColorSpace.getInstance(ColorSpace.CS_CIEXYZ),null)));

getHSBCcolor(float h, float s, float b)

জাভা বিকাশকারীরা এইচএসবি মডেলের মানগুলির উপর ভিত্তি করে একটি নতুন রঙের বস্তু তৈরি করতে এই পদ্ধতিটি প্রয়োগ করে। উদাহরণ :
private Color colorAt(int y)

 {
   return Color.getHSBColor(1 - (float) y / (height - 1), 1, 1);
 }
}

getGreen()	returns the green component in the range 0-255 in the default sRGB space.

getGreen()

এই জাভা পদ্ধতিটি আপনার তৈরি করা রঙের জন্য সবুজ উপাদানের মান প্রদান করে। RGB কালার স্কিমে সবুজের সাথে মিলে যাওয়া রেঞ্জের মধ্যে সমস্ত মান ফিট করে। উদাহরণ :
Color clickBoxColor = new Color(color.getRed(), color.getGreen(), color.getBlue(), 20);

getRed()

একইভাবে getGreen(), getRedএকটি প্রদত্ত রঙের লাল উপাদানের জন্য মান প্রদান করে। উপরের উদাহরণে পদ্ধতিটি কীভাবে প্রয়োগ করা হয়েছিল তা আপনি ইতিমধ্যে দেখেছেন।

getBlue()

এই পদ্ধতিটি RGB কালার স্কিমের মানের সীমার মধ্যে নীলের মান প্রদান করে। একইভাবে, ব্যবহারের উদাহরণের জন্য getBlue(), এর বর্ণনা দেখুন getGreen()

getAlpha()

getAlpha() পদ্ধতি জাভাতে ব্যবহার করা হয় যখন একজন ডেভেলপার প্রদত্ত রঙের আলফা মান খুঁজে পেতে চায়। একইভাবে RBG-তে, সমস্ত রঙের আলফা 0-255 সীমার মধ্যে থাকে। উদাহরণgetAlpha() : লুপের একটি অংশ হিসাবে কীভাবে ব্যবহার করা হয়েছিল তা এখানে ।
int alpha = color.getAlpha();
	if (alpha != 255)
	{
		setStrokeAlpha(alpha);
		strokeAlphaSet = true;

স্বচ্ছতা পান()

এই পদ্ধতিটি তৈরি করার সময় আপনি বা অন্য কোনও বিকাশকারী রঙের জন্য নির্দিষ্ট করা স্বচ্ছতার মান প্রদান করে। উদাহরণ :
public int getTransparency() {

return myColor.getTransparency();

বুলিয়ান সমান (অবজেক্ট অবজেক্ট)

আপনি যদি একে অপরের সাথে দুটি রঙের তুলনা করেন তবে এই পদ্ধতিটি অত্যন্ত কার্যকর। এটি জাভা বিকাশকারীদের দুটি রঙের বস্তুর সমান মান আছে কিনা তা জানতে দেয়। উদাহরণ :
import java.awt.Color;
public class Main {
  public static void main(String[] a) {
    Color myBlack = new Color(0, 0, 0); // Color black
    Color myWhite = new Color(255, 255, 255); // Color white
    System.out.println(myBlack.equals(myWhite));
  }
}

সমান (অবজেক্ট অবজেক্ট)

একইভাবে boolean equals(Object obj), এটি একটি তুলনামূলক পদ্ধতি। রঙের বস্তু একে অপরের সমান কিনা তা নির্ধারণ করতে আমরা এটি ব্যবহার করি। উদাহরণ :
Object a = new Object(); Object b = new Object(); return(a.equals(b));

জাভাতে ব্যবহৃত প্রধান রঙের নির্দেশিকা

এখন যেহেতু আপনি জাভাতে রঙগুলি পরিচালনা করার জন্য ব্যবহৃত পদ্ধতিগুলি বুঝতে পেরেছেন, আসুন আপনি যে ক্ষেত্রে কাজ করবেন তা দেখে নেওয়া যাক। জাভা বিকাশকারীরা সংজ্ঞায়িত করতে পারে এই প্রকৃত স্থির রং। আপনি হয় একটি রঙের নাম লিখে সংজ্ঞায়িত করতে পারেন (নিশ্চিত করুন যে আপনি এটি অফিসিয়াল ডকুমেন্টেশনে যেভাবে লেখা আছে ঠিক সেভাবেই লিখছেন) অথবা এর আরজিবি মান উল্লেখ করে। আসুন প্যালেট বিকাশকারীরা ব্যবহার করে দেখে নেওয়া যাক:
ক্ষেত্র নাম বর্ণনা
স্থির রঙ কালো (কালো) কালো রঙের সংজ্ঞা দেয়
স্ট্যাটিক রঙ সাদা (সাদা) সাদা রঙের সংজ্ঞা দেয়
স্থির রঙ নীল (নীল) নীল সংজ্ঞায়িত করতে ব্যবহৃত
স্ট্যাটিক রঙ ধূসর (ধূসর) ধূসর রঙ সংজ্ঞায়িত করে
স্ট্যাটিক রঙ গাঢ় ধূসর (গাঢ়_গ্রে) ধূসর একটি গাঢ় ছায়া সংজ্ঞায়িত করে
স্ট্যাটিক রঙ হালকা ধূসর (LIGHT_GRAY) ধূসর একটি হালকা ছায়া সংজ্ঞায়িত করে
স্থির রঙ সবুজ (সবুজ) সবুজ রং সংজ্ঞায়িত করতে ব্যবহৃত
স্ট্যাটিক কালার ম্যাজেন্টা (ম্যাজেন্টা) ম্যাজেন্টা ছায়া সংজ্ঞায়িত করে
স্ট্যাটিক কালার পিঙ্ক (পিঙ্ক) জাভাতে গোলাপী সংজ্ঞায়িত করে
স্ট্যাটিক কালার কমলা (কমলা) জাভাতে কমলা রঙ তৈরি করে
স্থির রঙ হলুদ (হলুদ) হলুদ সংজ্ঞায়িত করতে ব্যবহৃত
স্ট্যাটিক রঙ লাল (লাল) জাভাতে লাল রঙের সংজ্ঞা দেয়

জাভাতে AWT.Color ব্যবহার করার জন্য অনুশীলনের সমস্যা

আপনি কি মনে করেন যে আপনার জাভাতে AWT রঙের একটি শক্ত ভিত্তি আছে? আসুন কিছু ব্যবহারিক সমস্যা সমাধান করে এই দক্ষতাগুলি পরীক্ষা করি - এখানে, আপনাকে কনস্ট্রাক্টর এবং সাধারণ পদ্ধতি প্রয়োগ করতে হবে, সেইসাথে অন্যান্য নন-কালার-সম্পর্কিত জাভা সরঞ্জামগুলি প্রয়োগ করতে হবে। অনুশীলন সমস্যা # 1 । একটি কাস্টম কম্পোনেন্ট তৈরি করুন যা একটি প্রোগ্রাম ব্যবহারকারীকে একটি রঙে RGB লেভেলকে পরিবর্তন করতে দেয় (এর মতো RGBColorChooser)। আপনার উপাদানগুলিতে getColor() অন্তর্ভুক্ত করা নিশ্চিত করুন। উপাদানটিকে একটি প্যানেল সাবক্লাস করুন, একটি অ্যাপলেট নয়। উত্তর : এটি একটি মোটামুটি জটিল সমস্যা - আসুন এটিকে পরিচালনাযোগ্য ধাপে ভেঙে দেওয়া যাক:
  1. RGBChooserএকটি উপাদানে রূপান্তর করুন ।
  2. কম্পোনেন্টে একটি নতুন রুটিন যোগ করুন getColor()-
  3. setColor()রঙ সেট করতে যোগ করুন ।
দিনের শেষে আপনার যে নমুনা কোডটি পাওয়া উচিত তা এখানে:
import java.awt.*;
    import java.awt.event.*;

    public class RGBChooserComponent extends Panel implements AdjustmentListener {

       private Scrollbar redScroll, greenScroll, blueScroll;   // Scroll bars.

       private Label redLabel, greenLabel, blueLabel;  // For displaying RGB values.


       private Canvas colorCanvas;  // Color patch for displaying the color.

       public RGBChooserComponent() {  // Constructor.

           /*Now let’s add scrollbars with values from 0 to 255. */

           redScroll = new Scrollbar(Scrollbar.HORIZONTAL, 0, 10, 0, 265);
           greenScroll = new Scrollbar(Scrollbar.HORIZONTAL, 0, 10, 0, 265);
           blueScroll = new Scrollbar(Scrollbar.HORIZONTAL, 0, 10, 0, 265);

           /* Create Labels showing current RGB and HSB values. */

           redLabel = new Label(" R = 0");
           greenLabel = new Label(" G = 0");
           blueLabel = new Label(" B = 0");

           /* We are setting backgrounds for Scrollbars and Labels, so they get the default
              gray background of the applet. */

           redScroll.setBackground(Color.lightGray);
           greenScroll.setBackground(Color.lightGray);
           blueScroll.setBackground(Color.lightGray);

           redLabel.setBackground(Color.white);
           greenLabel.setBackground(Color.white);
           blueLabel.setBackground(Color.white);

           /* Establish a panel that would listen for changes to the Scrollbars' values */

           redScroll.addAdjustmentListener(this);
           greenScroll.addAdjustmentListener(this);
           blueScroll.addAdjustmentListener(this);

           /* Add a canva, the background color of which will always match the currently selected color. */

           colorCanvas = new Canvas();
           colorCanvas.setBackground(Color.black);

           /* Create the applet layout, which consists of a row of
              three equal-sized regions holding the Scrollbars,
              the Labels, and the color patch.  The background color
              of the applet is gray, which will show around the edges
              and between components. */

           setLayout(new GridLayout(1,3,3,3));
           setBackground(Color.gray);
           Panel scrolls = new Panel();
           Panel labels = new Panel();

           add(scrolls);
           add(labels);
           add(colorCanvas);

           /* Add the Scrollbars and the Labels to their respective panels. */

           scrolls.setLayout(new GridLayout(3,1,2,2));
           scrolls.add(redScroll);
           scrolls.add(greenScroll);
           scrolls.add(blueScroll);

           labels.setLayout(new GridLayout(3,1,2,2));
           labels.add(redLabel);
           labels.add(greenLabel);
           labels.add(blueLabel);

       } // end init();


       public Color getColor() {
              // Get the color currently displayed by the component.
           int r = redScroll.getValue();
           int g = greenScroll.getValue();
           int b = blueScroll.getValue();
           return new Color(r, g, b);
       }


       public void setColor(Color c) {
             // Set the component to display the given color.
             // (Ignore this if c is null.)
          if (c != null) {
             int r = c.getRed();      // Get the color levels from the color.
             int g = c.getGreen();
             int b = c.getBlue();
             redLabel.setText(" R = " + r);   // Set the labels.
             greenLabel.setText(" G = " + g);
             blueLabel.setText(" B = " + b);
             redScroll.setValue(r);        // Set the scrollbars.
             greenScroll.setValue(g);
             blueScroll.setValue(b);
             colorCanvas.setBackground(new Color(r,g,b));  // Set the canvas.
             colorCanvas.repaint();
          }
       }


       public Dimension getMinimumSize() {
              // Specify the minimum reasonable size of this component.
          return new Dimension(150,40);
       }


       public Dimension getPreferredSize() {
              // Specify the preferred size of this component.
          return new Dimension(280,80);
       }


       public void adjustmentValueChanged(AdjustmentEvent evt) {
               // This is called when the user has changed the values on
               // one of the scrollbars.  All the scrollbars are checked,
               // the labels are set to display the correct values,
               // and the color patch is reset to correspond to the new color.
           int r = redScroll.getValue();
           int g = greenScroll.getValue();
           int b = blueScroll.getValue();
           redLabel.setText(" R = " + r);
           greenLabel.setText(" G = " + g);
           blueLabel.setText(" B = " + b);
           colorCanvas.setBackground(new Color(r,g,b));
           colorCanvas.repaint();  // Redraw the canvas in its new color.
       } // end adjustmentValueChanged


       public Insets getInsets() {
              // The system calls this method to find out how much space to
              // leave between the edges of the applet and the components that
              // it contains.  I want a 2-pixel border at each edge.
          return new Insets(2,2,2,2);
       }

    }  // end class RGBColorChooser

উপসংহার

অভিনন্দন, আপনি জাভাতে AWT.Color-এর এই বিস্তৃত নির্দেশিকাটি পেয়ে গেছেন। এখন, ইন্টারফেস হ্যান্ডলিং অনেক সহজ হবে. অনুশীলন সমস্যা এবং কোডজিম কুইজ সমাধান করে আপনার জ্ঞান প্রয়োগ করতে ভুলবেন না। অনুশীলন নিখুঁত করে তোলে তাই নমুনা সমস্যা আপনার সেরা শট দিন!
মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই