JavaFX Graphics এর জন্য Group এবং Transformations ব্যবহার করে আপনি আরও আকর্ষণীয় এবং ইন্টারেক্টিভ গ্রাফিক্স তৈরি করতে পারেন। JavaFX গ্রাফিক্সের জন্য একটি শক্তিশালী গ্রাফিক্যাল লাইব্রেরি প্রদান করে যা আপনাকে শেপ, ছবি, পাঠ্য, এবং অন্যান্য গ্রাফিক্যাল উপাদানগুলির উপর কাজ করার সুযোগ দেয়। নিচে Group এবং Transformations এর ব্যবহারের বিস্তারিত আলোচনা দেওয়া হল।
1. Group (JavaFX Graphics)
Group হল JavaFX এর একটি কন্টেইনার যা এক বা একাধিক গ্রাফিক্যাল উপাদান (যেমন শেপ, পাঠ্য, ইমেজ ইত্যাদি) ধারণ করতে পারে। Group ব্যবহার করে আপনি একাধিক উপাদানকে একটি গোষ্ঠী (group) হিসেবে একত্রিত করতে পারেন এবং তাদের একসাথে পরিচালনা করতে পারেন।
Group ব্যবহার করে উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class GroupExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি গ্রুপ তৈরি করা
Group group = new Group();
// দুটি গ্রাফিক্যাল উপাদান তৈরি করা
Circle circle = new Circle(50, 50, 30); // সেন্টার (50, 50), রেডিয়াস 30
circle.setFill(Color.RED);
Rectangle rectangle = new Rectangle(100, 100, 60, 40); // পজিশন (100, 100), আকার (60, 40)
rectangle.setFill(Color.BLUE);
// গ্রুপে শেপ দুটি যোগ করা
group.getChildren().addAll(circle, rectangle);
// Scene তৈরি করা
Scene scene = new Scene(group, 300, 250);
primaryStage.setTitle("Group Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এখানে কী হচ্ছে?
- এখানে, একটি
Groupতৈরি করা হয়েছে যা একটিCircleএবং একটিRectangleধারণ করছে।Groupব্যবহার করলে আপনি একাধিক উপাদানকে একসাথে গ্রুপ করতে পারেন এবং তাদের একসাথে ট্রান্সফর্ম বা স্টাইল করতে পারবেন।
Group এর সুবিধা:
- উপাদানগুলির সজ্জা: আপনি একাধিক গ্রাফিক্যাল উপাদানকে গ্রুপ করে তাদের একত্রে পরিচালনা করতে পারেন।
- সহজ ইন্টারঅ্যাকশন: গ্রুপের ওপর ট্রান্সফর্মেশন এবং স্টাইল প্রয়োগ করলে তা গ্রুপের সকল উপাদানের ওপর কার্যকর হবে।
- প্রদর্শন: একাধিক উপাদানকে একটি গোষ্ঠীতে রেখে তাদের একত্রে এক্সপোজ করা সম্ভব।
2. Transformations (JavaFX Graphics)
Transformations হল JavaFX গ্রাফিক্সে একটি শক্তিশালী টুল যা শেপ বা উপাদানগুলির অবস্থান, আকার, ঘূর্ণন, স্কেল ইত্যাদি পরিবর্তন করতে সহায়তা করে। JavaFX ট্রান্সফর্মেশনগুলি বিভিন্ন ধরণের হয় যেমন:
- Translate Transformation (স্থানান্তর): উপাদানকে X এবং Y অক্ষের মাধ্যমে স্থানান্তর করা।
- Rotate Transformation (ঘূর্ণন): উপাদানটিকে একটি নির্দিষ্ট কোণে ঘোরানো।
- Scale Transformation (স্কেল): উপাদানের আকার পরিবর্তন করা।
- Shear Transformation (শিয়র): উপাদানকে একদিকে আকৃতির পরিবর্তন করা (এটি সাধারণত 3D গ্রাফিক্সে ব্যবহৃত হয়)।
Transformations উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.transform.Scale;
import javafx.scene.transform.Translate;
import javafx.stage.Stage;
public class TransformationExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি গ্রুপ তৈরি করা
Group group = new Group();
// একটি রেকটেঙ্গেল তৈরি করা
Rectangle rectangle = new Rectangle(100, 100, 100, 50); // পজিশন (100, 100), আকার (100, 50)
rectangle.setFill(Color.GREEN);
// ট্রান্সফরমেশন যোগ করা (Translate, Scale)
Translate translate = new Translate(50, 50); // X ও Y অক্ষের মাধ্যমে স্থানান্তর
Scale scale = new Scale(1.5, 1.5); // আকার 1.5 গুণ বৃদ্ধি
// রেকটেঙ্গেলের ওপর ট্রান্সফরমেশন প্রয়োগ করা
rectangle.getTransforms().addAll(translate, scale);
// গ্রুপে রেকটেঙ্গেল যোগ করা
group.getChildren().add(rectangle);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(group, 300, 250);
primaryStage.setTitle("Transformation Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এখানে কী হচ্ছে?
- Translate Transformation: এখানে
Translateট্রান্সফরমেশন ব্যবহার করে রেকটেঙ্গেলকে50পিক্সেল ডানে এবং উপরে স্থানান্তরিত করা হয়েছে। - Scale Transformation: রেকটেঙ্গেলের আকারকে 1.5 গুণ বৃদ্ধি করা হয়েছে।
getTransforms().addAll()ব্যবহার করে একাধিক ট্রান্সফরমেশন একসাথে প্রয়োগ করা হয়েছে।
Transformations এর বিভিন্ন প্রকার:
Translate (স্থানান্তর):
Translateট্রান্সফরমেশন ব্যবহার করে একটি উপাদানকে স্থানান্তর করা হয়।Translate translate = new Translate(50, 50);Rotate (ঘূর্ণন):
Rotateট্রান্সফরমেশন ব্যবহার করে একটি উপাদানকে একটি নির্দিষ্ট কোণে ঘুরানো হয়।Rotate rotate = new Rotate(45); // 45 ডিগ্রি ঘূর্ণনScale (স্কেল):
Scaleট্রান্সফরমেশন ব্যবহার করে উপাদানের আকার পরিবর্তন করা হয়।Scale scale = new Scale(2, 2); // উপাদানটি 2 গুণ বড় করাShear (শিয়র): শিয়র ট্রান্সফরমেশন একটি উপাদানকে একদিকে আকার পরিবর্তন করে।
Shear shear = new Shear(1.5, 0); // X অক্ষের শিয়র
JavaFX-এ Group এবং Transformations এর সুবিধা:
- গ্রুপিং:
- একাধিক গ্রাফিক্যাল উপাদানকে একটি
Groupএর মধ্যে একত্রিত করে তাদের উপর ট্রান্সফরমেশন, স্টাইল এবং অন্যান্য অপারেশন একসাথে প্রয়োগ করা যায়।
- একাধিক গ্রাফিক্যাল উপাদানকে একটি
- সহজ ট্রান্সফরমেশন:
Translate,Rotate,Scaleইত্যাদি ট্রান্সফরমেশন ব্যবহার করে আপনি সহজেই উপাদানের অবস্থান, আকার, বা ঘূর্ণন পরিবর্তন করতে পারেন।
- আকর্ষণীয় এবং ইন্টারঅ্যাকটিভ গ্রাফিক্স:
- JavaFX আপনাকে গ্রাফিক্সের উপর ট্রান্সফরমেশন প্রয়োগ করে আকর্ষণীয় এবং ইন্টারঅ্যাকটিভ অ্যানিমেশন তৈরি করতে সাহায্য করে।
- ডাইনামিক ইউজার ইন্টারফেস:
- ট্রান্সফরমেশন এবং গ্রুপিং ব্যবহার করে আপনি একাধিক উপাদানকে একত্রিত এবং একটি শৈল্পিক বা ডাইনামিক পদ্ধতিতে পরিবর্তন করতে পারেন।
সারাংশ:
- Group JavaFX-এ একাধিক গ্রাফিক্যাল উপাদানকে একত্রে গ্রুপ করতে সাহায্য করে এবং তাদের উপর একত্রে কাজ করা যায়।
- Transformations ব্যবহার করে আপনি JavaFX-এ শেপ বা উপাদানের স্থান, আকার, বা ঘূর্ণন পরিবর্তন করতে পারেন।
Translate,Rotate,Scaleইত্যাদি ট্রান্সফরমেশন আপনাকে খুব সহজে গ্রাফিক্যাল উপাদানগুলির মধ্যে পরিবর্তন আনতে সহায়তা করে।
JavaFX এর Group এবং Transformations আপনাকে গ্রাফিক্যাল উপাদানগুলির ওপর আরও নিয়ন্ত্রণ এবং শক্তিশালী ইন্টারঅ্যাকটিভ অ্যানিমেশন তৈরি করতে সহায়তা করে।
Read more