Bitmap, Line, এবং Shape ড্র করা

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

395

MFC (Microsoft Foundation Classes) ব্যবহার করে গ্রাফিক্স ড্র করার জন্য আপনি ডিভাইস কনটেক্সট (DC, Device Context) ব্যবহার করতে পারেন। Bitmap, Line, এবং Shape ড্র করার মাধ্যমে আপনার অ্যাপ্লিকেশনের ভিজ্যুয়াল ইন্টারফেসে বিভিন্ন ধরনের গ্রাফিক্স প্রদর্শন করা সম্ভব। MFC তে গ্রাফিক্স ড্র করার জন্য বিভিন্ন ফাংশন ব্যবহার করা হয়, যেমন MoveTo, LineTo, Ellipse, Rectangle, DrawBitmap ইত্যাদি।

এখানে Bitmap, Line, এবং Shape ড্র করার কিছু মৌলিক ধারণা এবং উদাহরণ আলোচনা করা হলো।


বিটম্যাপ (Bitmap) ড্র করা

Bitmap হল একটি গ্রাফিক্স ফাইল ফরম্যাট, যা চিত্রের পিক্সেল ডেটা ধারণ করে। MFC তে Bitmap ড্র করার জন্য CBitmap ক্লাস ব্যবহার করা হয়, যা আপনার অ্যাপ্লিকেশনে একটি ইমেজ বা গ্রাফিক্স ফাইল লোড ও প্রদর্শন করতে সহায়তা করে।

Code Example: Bitmap ড্র করা

void CMyView::OnDraw(CDC* pDC)
{
    CBitmap bitmap;
    bitmap.LoadBitmap(IDB_MY_BITMAP); // IDB_MY_BITMAP হল বিটম্যাপ রিসোর্স

    // DC এর মধ্যে বিটম্যাপ ড্র করা
    BITMAP bm;
    bitmap.GetBitmap(&bm);
    pDC->SetMapMode(MM_TEXT);
    pDC->SetViewportOrg(0, 0);
    pDC->DrawState(CPoint(10, 10), CSize(bm.bmWidth, bm.bmHeight), &bitmap, DSS_NORMAL);
}

এখানে, LoadBitmap() ফাংশন ব্যবহার করে বিটম্যাপ লোড করা হচ্ছে এবং তারপর DrawState() ফাংশন ব্যবহার করে এটি উইন্ডোতে ড্র করা হচ্ছে।


লাইন (Line) ড্র করা

Line ড্র করার জন্য MFC তে MoveTo এবং LineTo ফাংশন ব্যবহার করা হয়। প্রথমে MoveTo দ্বারা পয়েন্ট সেট করা হয় এবং তারপর LineTo দিয়ে সেই পয়েন্টের মধ্যে একটি লাইন ড্র করা হয়।

Code Example: Line ড্র করা

void CMyView::OnDraw(CDC* pDC)
{
    // কালার সেট করা
    pDC->SetPen(PS_SOLID, 2, RGB(255, 0, 0)); // লাল রঙের লাইন

    // পয়েন্টের মধ্যে লাইন ড্র করা
    pDC->MoveTo(10, 10);
    pDC->LineTo(200, 200);
}

এখানে, প্রথমে MoveTo(10, 10) পয়েন্টে মুভ করা হয় এবং তারপর LineTo(200, 200) দিয়ে একটি লাইন ড্র করা হয়। লাইনটি লাল রঙে এবং ২ পিক্সেল প্রস্থে ড্র হবে।


শেপ (Shape) ড্র করা

MFC তে বিভিন্ন ধরনের Shape ড্র করা সম্ভব, যেমন Rectangle, Ellipse, Polygon ইত্যাদি। প্রতিটি শেপের জন্য আলাদা ফাংশন থাকে, যেমন Rectangle(), Ellipse(), Polygon() ইত্যাদি।

Code Example: Rectangle ড্র করা

void CMyView::OnDraw(CDC* pDC)
{
    // কালার সেট করা
    pDC->SetBrushOrg(0, 0); // ব্রাশের প্যাটার্ন সেট করা
    pDC->SetBkColor(RGB(0, 255, 0)); // সবুজ ব্যাকগ্রাউন্ড

    // একটি রেকটেঙ্গেল ড্র করা
    pDC->Rectangle(50, 50, 200, 200);
}

এখানে, Rectangle(50, 50, 200, 200) ফাংশনটি একটি রেকটেঙ্গেল ড্র করবে যার উপরের বাম কোণ (50, 50) এবং নীচের ডান কোণ (200, 200)।

Code Example: Ellipse ড্র করা

void CMyView::OnDraw(CDC* pDC)
{
    // কালার সেট করা
    pDC->SetBrushOrg(0, 0); 
    pDC->SetBkColor(RGB(0, 0, 255)); // নীল ব্যাকগ্রাউন্ড

    // একটি এলিপস ড্র করা
    pDC->Ellipse(50, 50, 200, 150);
}

এখানে, Ellipse(50, 50, 200, 150) ফাংশনটি একটি এলিপস (গোলাকার আকার) ড্র করবে।

Code Example: Polygon ড্র করা

void CMyView::OnDraw(CDC* pDC)
{
    // পলিগনের পয়েন্টের অ্যারে তৈরি করা
    CPoint points[4] = { CPoint(10, 10), CPoint(200, 10), CPoint(200, 200), CPoint(10, 200) };

    // পলিগন ড্র করা
    pDC->Polygon(points, 4);
}

এখানে, Polygon(points, 4) একটি চতুর্ভুজ পলিগন ড্র করবে, যার চারটি কোণ রয়েছে (10, 10), (200, 10), (200, 200), এবং (10, 200)।


সারাংশ

MFC তে Bitmap, Line, এবং Shape ড্র করার মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের ভিজ্যুয়াল ইন্টারফেসে গ্রাফিক্স উপাদান যোগ করতে পারেন। Bitmap ব্যবহার করে ইমেজ বা গ্রাফিক্স ফাইল লোড করা যায়, Line দিয়ে পয়েন্টের মধ্যে লাইন আঁকা যায়, এবং Shape (যেমন রেকটেঙ্গেল, এলিপস, পলিগন) ড্র করার জন্য MFC তে নির্দিষ্ট ফাংশন ব্যবহার করা হয়। এই সব কন্ট্রোলস দিয়ে আপনি আপনার অ্যাপ্লিকেশনের ইউজার ইন্টারফেসে গ্রাফিক্যাল উপাদান সহজেই সংযুক্ত করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...