GDI (Graphics Device Interface) এর সাথে কাজ করা

MFC এর পেইন্টিং এবং ড্রইং কৌশল (Drawing and Painting Techniques in MFC) - এমএফসি (MFC) - Microsoft Technologies

445

GDI (Graphics Device Interface) হল Windows-এ গ্রাফিক্স এবং প্রিন্টিং এর জন্য একটি API (Application Programming Interface), যা ডিভাইস থেকে ইমেজ রেন্ডারিং এবং গ্রাফিক্স প্রক্রিয়া পরিচালনা করতে ব্যবহৃত হয়। এটি গ্রাফিক্স, টেক্সট, লাইন, শেপ, এবং রেন্ডারিং প্রক্রিয়ার সাথে সম্পর্কিত ফাংশন সরবরাহ করে। MFC অ্যাপ্লিকেশনগুলিতে GDI ব্যবহারের মাধ্যমে ইউজার ইন্টারফেসে গ্রাফিক্যাল এলিমেন্ট যোগ করা যায়, যেমন ড্রয়িং, পেইন্টিং, এবং টেক্সট ডিসপ্লে।


GDI এর মৌলিক উপাদান

GDI বিভিন্ন উপাদান এবং কনসেপ্টের মাধ্যমে কাজ করে। কিছু গুরুত্বপূর্ণ উপাদান:

  • Device Context (DC): এটি হল একটি ডাটা স্ট্রাকচার যা ডিভাইসের গ্রাফিক্যাল বৈশিষ্ট্য ধারণ করে। CDC ক্লাসটি MFC তে Device Context কে রিপ্রেজেন্ট করে।
  • Pen: লাইন আঁকার জন্য ব্যবহৃত হয়।
  • Brush: শেপ এবং ফিলিংয়ের জন্য ব্যবহৃত হয়।
  • Font: টেক্সট আঁকার জন্য ব্যবহৃত হয়।
  • Bitmap: ইমেজ রেন্ডার করার জন্য ব্যবহৃত হয়।
  • Region: একটি আকার বা সিলেক্টেড এরিয়া তৈরি করতে ব্যবহৃত হয়।

GDI এর সাথে ড্রয়িং করা

GDI ব্যবহার করে বিভিন্ন গ্রাফিক্স উপাদান আঁকা যায়, যেমন লাইন, আয়তক্ষেত্র, বৃত্ত, এবং আরো অনেক কিছু। নিচে GDI ব্যবহার করে একটি সাধারণ লাইন আঁকার উদাহরণ দেওয়া হলো।

Code Example:

void CMyView::OnDraw(CDC* pDC)
{
    // কালার নির্বাচন
    pDC->SetTextColor(RGB(0, 0, 255)); // ব্লু কালার
    pDC->SetBkColor(RGB(255, 255, 255)); // হোয়াইট ব্যাকগ্রাউন্ড

    // লাইন আঁকা
    pDC->MoveTo(10, 10); // লাইন শুরু পয়েন্ট
    pDC->LineTo(200, 200); // লাইন শেষ পয়েন্ট

    // আয়তক্ষেত্র আঁকা
    pDC->Rectangle(50, 50, 150, 150);
}

এখানে OnDraw() ফাংশনটি ব্যবহার করে, একটি blue line এবং একটি rectangle আঁকা হচ্ছে।


টেক্সট রেন্ডারিং

GDI এর মাধ্যমে টেক্সট রেন্ডার করা খুবই সাধারণ। MFC তে টেক্সট রেন্ডার করতে CDC::TextOut() মেথডটি ব্যবহার করা হয়। এছাড়া টেক্সটের জন্য বিভিন্ন ফন্ট এবং স্টাইল নির্বাচনও করা যায়।

Code Example:

void CMyView::OnDraw(CDC* pDC)
{
    // ফন্ট সেট করা
    CFont font;
    font.CreatePointFont(120, _T("Arial"));
    pDC->SelectObject(&font);

    // টেক্সট আঁকা
    pDC->TextOut(50, 50, _T("Hello, MFC!"));
}

এখানে CreatePointFont() ফাংশন দিয়ে একটি ফন্ট তৈরি করা হয়েছে এবং TextOut() দিয়ে একটি টেক্সট রেন্ডার করা হয়েছে।


GDI-এ পেইন্টিং

MFC তে OnPaint() মেসেজ হ্যান্ডলার ব্যবহার করে GDI এর মাধ্যমে পেইন্টিং করা হয়। এই মেসেজ হ্যান্ডলারটি উইন্ডো বা কন্ট্রোল রেন্ডার করার সময় কল হয়।

Code Example:

void CMyView::OnPaint()
{
    CPaintDC dc(this); // ডিভাইস কনটেক্সট পেতে
    OnDraw(&dc); // ড্রয়িং রেন্ডার করা
}

এখানে CPaintDC একটি ডিভাইস কনটেক্সট তৈরি করে, এবং তারপর OnDraw() ফাংশনটি কল করা হয় যা গ্রাফিক্স এবং টেক্সট আঁকতে সহায়তা করে।


GDI Object ব্যবহার

GDI কন্ট্রোলের বিভিন্ন উপাদান যেমন Pen, Brush, Font ইত্যাদি, MFC এর মাধ্যমে ব্যবহার করা যায়। এই উপাদানগুলিকে GDI objects বলা হয়।

  • Pen: লাইন আঁকার জন্য ব্যবহৃত হয়।
  • Brush: শেপ আঁকার জন্য ব্যবহৃত হয়।
  • Font: টেক্সট রেন্ডারিং করার জন্য ব্যবহৃত হয়।

Code Example:

void CMyView::OnDraw(CDC* pDC)
{
    // Pen তৈরি করা
    CPen pen(PS_SOLID, 5, RGB(255, 0, 0)); // লাল রঙের পেন
    pDC->SelectObject(&pen);

    // Brush তৈরি করা
    CBrush brush(RGB(0, 255, 0)); // সবুজ রঙের ব্রাশ
    pDC->SelectObject(&brush);

    // একটি আয়তক্ষেত্র আঁকা
    pDC->Rectangle(100, 100, 200, 200);
}

এখানে Pen এবং Brush তৈরি করে একটি আয়তক্ষেত্র আঁকা হয়েছে।


সারাংশ

GDI (Graphics Device Interface) হল Windows প্ল্যাটফর্মে গ্রাফিক্স রেন্ডারিং এবং ডিভাইসের সাথে ইন্টারঅ্যাকশন করার জন্য ব্যবহৃত একটি শক্তিশালী টুল। MFC অ্যাপ্লিকেশনে GDI ব্যবহার করে আমরা গ্রাফিক্স, টেক্সট, শেপ, এবং অন্যান্য গ্রাফিক্যাল উপাদান ড্র করতে পারি। GDI এর সাহায্যে Device Context, Pen, Brush, Font এবং অন্যান্য গ্রাফিক্যাল অবজেক্ট ব্যবহার করে সুন্দর ইউজার ইন্টারফেস তৈরি করা যায়। GDI একটি অ্যাপ্লিকেশনকে ডিভাইসের সাথে যুক্ত করে, এটি স্ক্রীন, প্রিন্টার, অথবা অন্য কোন আউটপুট ডিভাইসে গ্রাফিক্স রেন্ডার করতে সক্ষম করে।

Content added By
Promotion

Are you sure to start over?

Loading...