Graphics এবং Shapes আঁকা (Lines, Rectangles, Circles)

Canvas এবং Drawing (ক্যানভাস এবং ড্রইং) - টিসিএল/টিকে (Tcl/Tk) - Computer Programming

319

টিসিএল (Tcl) - গ্রাফিক্স এবং শেপস আঁকা (Lines, Rectangles, Circles)

Tk টুলকিটের মাধ্যমে আপনি গ্রাফিক্স তৈরি করতে পারেন, যেমন লাইন্স, রেকট্যাঙ্গলস (আয়তক্ষেত্র), এবং সার্কেলস (বৃত্ত)। Tk-এ canvas উইজেট ব্যবহার করে আপনি এই গ্রাফিক্স আঁকতে পারেন। canvas হল একটি বিশেষ উইজেট যা বিভিন্ন গ্রাফিক্যাল উপাদান যেমন লাইন, আয়তক্ষেত্র, বৃত্ত, ছবি ইত্যাদি আঁকতে ব্যবহৃত হয়।

এখানে Tk canvas ব্যবহার করে লাইন্স, রেকট্যাঙ্গলস, এবং সার্কেলস আঁকার জন্য প্রয়োজনীয় পদক্ষেপগুলি আলোচনা করা হলো।


১. Canvas উইজেট তৈরি (Creating a Canvas Widget)

Tk-এ canvas উইজেট ব্যবহার করে আপনি গ্রাফিক্স আঁকতে পারেন। প্রথমে, আপনাকে একটি canvas উইজেট তৈরি করতে হবে, যেখানে আপনি শেপস আঁকবেন।

উদাহরণ:

package require Tk
set window [tk::mainwindow]
canvas $window.c -width 400 -height 400
pack $window.c

এখানে, একটি canvas উইজেট তৈরি করা হয়েছে যার আকার 400x400 পিক্সেল।


২. লাইন আঁকা (Drawing Lines)

Tk-এ একটি লাইন আঁকার জন্য create line কমান্ড ব্যবহার করা হয়। এর মাধ্যমে আপনি দুটি পয়েন্টের মধ্যে একটি সরল লাইন আঁকতে পারেন।

উদাহরণ:

package require Tk
set window [tk::mainwindow]
canvas $window.c -width 400 -height 400
pack $window.c

# Draw a line from (50, 50) to (350, 350)
$window.c create line 50 50 350 350 -fill "blue" -width 2

এখানে, একটি নীল রঙের লাইন আঁকা হয়েছে যা (50, 50) থেকে (350, 350) পয়েন্ট পর্যন্ত চলে।

  • create line কমান্ডে, প্রথম দুটি সংখ্যার মাধ্যমে লাইনটির শুরু এবং শেষ পয়েন্ট নির্ধারণ করা হয়েছে।
  • -fill দ্বারা লাইনটির রঙ নির্ধারণ করা হয়েছে।
  • -width দ্বারা লাইনটির প্রস্থ নির্ধারণ করা হয়েছে।

৩. আয়তক্ষেত্র (Rectangles) আঁকা

Tk-এ create rectangle কমান্ড ব্যবহার করে আয়তক্ষেত্র আঁকা হয়। আয়তক্ষেত্রের জন্য চারটি পয়েন্ট নির্ধারণ করা হয়: শুরুর পয়েন্ট (উপর-বামে) এবং শেষ পয়েন্ট (নীচে-ডানে)।

উদাহরণ:

package require Tk
set window [tk::mainwindow]
canvas $window.c -width 400 -height 400
pack $window.c

# Draw a rectangle from (50, 50) to (350, 200)
$window.c create rectangle 50 50 350 200 -fill "yellow" -outline "black" -width 2

এখানে, একটি হলুদ রঙের আয়তক্ষেত্র আঁকা হয়েছে যার সীমানা 50, 50 থেকে 350, 200 পয়েন্ট পর্যন্ত।

  • -fill দ্বারা আয়তক্ষেত্রের ভেতরের রঙ নির্ধারণ করা হয়েছে।
  • -outline দ্বারা আয়তক্ষেত্রের বর্ডারের রঙ নির্ধারণ করা হয়েছে।
  • -width দ্বারা বর্ডারের প্রস্থ নির্ধারণ করা হয়েছে।

৪. বৃত্ত (Circles) আঁকা

Tk-এ create oval কমান্ড ব্যবহার করে বৃত্ত বা অখণ্ড এলিপ্স আঁকা হয়। একটি বৃত্ত আঁকতে হলে আপনাকে একটি আয়তক্ষেত্রের ভিতরে থাকা একটি বৃত্তের অংশ আঁকতে হবে, এবং এর মাধ্যমে আপনি একটি বৃত্ত তৈরি করবেন।

উদাহরণ:

package require Tk
set window [tk::mainwindow]
canvas $window.c -width 400 -height 400
pack $window.c

# Draw a circle (oval) from (100, 100) to (300, 300)
$window.c create oval 100 100 300 300 -fill "green" -outline "black" -width 2

এখানে, একটি সবুজ রঙের বৃত্ত আঁকা হয়েছে যা (100, 100) থেকে (300, 300) আয়তক্ষেত্রের মধ্যে অন্তর্ভুক্ত।

  • create oval কমান্ডে, দুটি পয়েন্ট (উপর-বাম এবং নীচে-ডান) ব্যবহার করা হয়েছে বৃত্ত আঁকার জন্য।
  • -fill দ্বারা বৃত্তের ভেতরের রঙ নির্ধারণ করা হয়েছে।
  • -outline দ্বারা বৃত্তের সীমানার রঙ নির্ধারণ করা হয়েছে।
  • -width দ্বারা সীমানার প্রস্থ নির্ধারণ করা হয়েছে।

৫. এনিমেশন এবং ইন্টারঅ্যাকশন (Animation and Interaction)

Tk canvas উইজেটের মাধ্যমে আপনি গ্রাফিক্সের এনিমেশনও করতে পারেন। উদাহরণস্বরূপ, একটি বৃত্তকে এক স্থান থেকে অন্য স্থানে সরানোর জন্য move কমান্ড ব্যবহার করা হয়।

উদাহরণ - বৃত্তের এনিমেশন:

package require Tk
set window [tk::mainwindow]
canvas $window.c -width 400 -height 400
pack $window.c

# Draw a circle (oval)
set circle [$window.c create oval 100 100 200 200 -fill "blue"]

# Move the circle across the canvas
after 1000 {
    $window.c move $circle 50 50
    after 1000 {
        $window.c move $circle 50 50
    }
}

এখানে, একটি নীল রঙের বৃত্ত আঁকা হয়েছে এবং move কমান্ডের মাধ্যমে সেটিকে একটি স্থান থেকে অন্য স্থানে সরানো হয়েছে।


৬. Canvas উইজেটের অন্যান্য গ্রাফিক্যাল ফিচারসমূহ

Tk canvas উইজেট আরও অনেক গ্রাফিক্যাল ফিচার প্রদান করে:

  • create line: লাইন আঁকতে।
  • create rectangle: আয়তক্ষেত্র আঁকতে।
  • create oval: বৃত্ত বা এলিপ্স আঁকতে।
  • create polygon: পলিগন আঁকতে।
  • create text: টেক্সট আঁকতে।
  • create image: ছবি আঁকতে।

এছাড়া, bind কমান্ড ব্যবহার করে আপনি বিভিন্ন গ্রাফিক্যাল উপাদানের সাথে ইন্টারঅ্যাক্ট করতে পারেন, যেমন মাউস ক্লিক বা কী প্রেস ইভেন্ট।


উপসংহার

Tk canvas উইজেট ব্যবহার করে আপনি টিসিএল-এর মধ্যে গ্রাফিক্স তৈরি এবং ম্যানিপুলেশন করতে পারেন। এটি লাইন, আয়তক্ষেত্র, বৃত্ত এবং অন্যান্য গ্রাফিক্যাল শেপস আঁকার জন্য একটি শক্তিশালী টুল। Tk-এ গ্রাফিক্স আঁকার মাধ্যমে আপনি GUI অ্যাপ্লিকেশনের দৃশ্যমান অংশে আকর্ষণীয় উপাদান যোগ করতে পারেন, যা আপনার প্রোগ্রামকে আরও ইন্টারঅ্যাকটিভ এবং আকর্ষণীয় করে তুলবে।

Content added By
Promotion

Are you sure to start over?

Loading...