الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 3_رسم الاشكال الهندسية_ رسم المربعات و المستطيل
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: التعامل مع الرسومات Java 2D/3D Graphics
صفحة 1 من اصل 1 • شاطر
الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 3_رسم الاشكال الهندسية_ رسم المربعات و المستطيل
أهلا بكم
فى هذا المقال سنتعرف كيفية رسم المربعات و المستطيل فى الجافا حيث توجد عدة طرق لفعل ذلك على النحو التالى :
1_باستخدام الاسلوب drawRect
2_باستخدام الفئة Rectangle2D
3_باستخدام الطريقة fillRect
4_باستخدام الاسلوب drawRoundRect
5_باستخدام الاسلوب fillRoundRect
6_باستخدام الاسلوب draw3DRect
7_باستخدام الاسلوب fill3DRect
أولا : الاسلوب drawRect
تقوم الدالة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] برسم مستطيل أجوف محدّد بالزاوية اليسارية العليا ، ثم بتحديد عرض وارتفاع المستطيل و ياخذ الشكل التالى :
حيث أن :
مثال توضيحيى لرسم مربع و بداخلة مستطيل باستخدام الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] على النحو التالى :
الاخراج :
لكن عيوب هذه الطريقة أن إحداثيات هذه النقاط لابد من أن تكون أعداد صحيحة و بالتالى لا تقبل الاعداد العشرية فلا يوجد "بكسل ونصف" على الشاشة
ثانيا :استخدام كائن من الفئة Rectangle2D
تقوم الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بوصف مستطيل أو مربع محدّد بالزاوية اليسارية العليا ، ثم بتحديد عرض وارتفاع المستطيل ومن ثم تمرير هذا الوصف الى الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لرسم الشكل المحدد و ذلك على النحو التالى :
ثالثا :باستخدام الطريقة fillRect
تقوم الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] برسم مستطيل معبأ باللون معين بالعرض المعطى والارتفاع المعطى، إحداثيات الركن العلوي الأيسر هي (x, y) وتاخذ الشكل التالى :
حيث أن :
مثال توضيحيى لرسم مربع و بداخلة مستطيل باستخدام الطريقة drawRect على النحو التالى :
الاخراج :
رابعا :الاسلوب drawRoundRect
لرسم مستطيل أو مربع أجوف ذو حواف دائرية بالعرض المعطى والارتفاع المعطى، المتغيران arcWidth, & arcHeight يحددان مقدار انحناء الحواف وياخذ الشكل التالى :
مثال توضيحيى
الاخراج :
خامسا :باستخدام الاسلوب fillRoundRect
لرسم مستطيل ذو حواف دائرية معبأ باللون بالعرض المعطى والارتفاع المعطى، المتغيران arcWidth, & arcHeight يحددان مقدار انحناء الحواف إحداثيات الركن العلوي الأيسر هي (x, y)
مثال توضيحيى :
الاخراج :
سادسا :باستخدام الاسلوب draw3DRect
لرسم مستطيل ثلاثي الأبعاد أجوف بالعرض المعطى والارتفاع المعطى وحدوده باللون الحالي، إحداثيات الركن العلوي الأيسر هي (x, y)، المستطيل يظهر بارزاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة true ويكون مجوفاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة false.
مثال توضيحيى :
الاخراج :
سابعا :باستخدام الاسلوب fill3DRec
لرسم مستطيل ثلاثي الأبعاد معبأ باللون بالعرض المعطى والارتفاع المعطى واللون الحالي، إحداثيات الركن العلوي الأيسر هي (x, y)، المستطيل يظهر بارزاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة true ويكون مجوفاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة false
مثال توضيحيى :
الاخراج :
فى هذا المقال سنتعرف كيفية رسم المربعات و المستطيل فى الجافا حيث توجد عدة طرق لفعل ذلك على النحو التالى :
1_باستخدام الاسلوب drawRect
2_باستخدام الفئة Rectangle2D
3_باستخدام الطريقة fillRect
4_باستخدام الاسلوب drawRoundRect
5_باستخدام الاسلوب fillRoundRect
6_باستخدام الاسلوب draw3DRect
7_باستخدام الاسلوب fill3DRect
أولا : الاسلوب drawRect
تقوم الدالة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] برسم مستطيل أجوف محدّد بالزاوية اليسارية العليا ، ثم بتحديد عرض وارتفاع المستطيل و ياخذ الشكل التالى :
- الكود:
puplic void drawRect ( int x, int y, int width, int height )
حيث أن :
- X : الاحداثي السيني للنقطة العلوية اليسري للمستطيل
- Y :الاحداثي الصادي للنقطة العلوية اليسري للمستطيل
- Width :عرض المستطيل
- Height :ارتفاع المستطيل
مثال توضيحيى لرسم مربع و بداخلة مستطيل باستخدام الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] على النحو التالى :
- الكود:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintChildren(g);
//اشتقاق مثيل من الفئة
Graphics2D g2d = (Graphics2D) g;
g2d.setStroke(new BasicStroke (4)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.red); // تحديد اللون
g2d.drawRect(25, 25, 120, 120); // رسم مربع
g2d.setStroke(new BasicStroke (2)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.BLUE); // تحديد اللون
g2d.drawRect(50, 50, 75, 50); // رسم مستطيل
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(480, 200);
frame.setVisible(true);
}
}
الاخراج :
لكن عيوب هذه الطريقة أن إحداثيات هذه النقاط لابد من أن تكون أعداد صحيحة و بالتالى لا تقبل الاعداد العشرية فلا يوجد "بكسل ونصف" على الشاشة
ثانيا :استخدام كائن من الفئة Rectangle2D
تقوم الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بوصف مستطيل أو مربع محدّد بالزاوية اليسارية العليا ، ثم بتحديد عرض وارتفاع المستطيل ومن ثم تمرير هذا الوصف الى الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لرسم الشكل المحدد و ذلك على النحو التالى :
- الكود:
public void paintComponent(Graphics g) {
super.paintComponent(g);
//اشتقاق مثيل من الفئة
Graphics2D g2d = (Graphics2D) g;
Rectangle2D r1d = new Rectangle2D.Float(25.5f, 25.5f, 120.5f, 120.5f);
Rectangle2D r2d = new Rectangle2D.Double(50f, 25.5f, 75f, 50.7f);
g2d.setStroke(new BasicStroke (4)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.red); // تحديد اللون
g2d.draw(r1d); // رسم مربع
g2d.setStroke(new BasicStroke (2)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.BLUE); // تحديد اللون
g2d.draw(r2d); // رسم مستطيل
}
ثالثا :باستخدام الطريقة fillRect
تقوم الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] برسم مستطيل معبأ باللون معين بالعرض المعطى والارتفاع المعطى، إحداثيات الركن العلوي الأيسر هي (x, y) وتاخذ الشكل التالى :
- الكود:
puplic void fillRect ( int x, int y, int width, int height )
حيث أن :
- X : الاحداثي السيني للنقطة العلوية اليسري للمستطيل
- Y :الاحداثي الصادي للنقطة العلوية اليسري للمستطيل
- Width :عرض المستطيل
- Height :ارتفاع المستطيل
مثال توضيحيى لرسم مربع و بداخلة مستطيل باستخدام الطريقة drawRect على النحو التالى :
- الكود:
public void paintComponent(Graphics g) {
super.paintComponent(g);
//اشتقاق مثيل من الفئة
Graphics2D g2d = (Graphics2D) g;
g2d.setStroke(new BasicStroke (4)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.red); // تحديد اللون
g2d.fillRect(25, 25, 120, 120); // رسم مربع
g2d.setStroke(new BasicStroke (2)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.BLUE); // تحديد اللون
g2d.fillRect(50, 50, 75, 50); // رسم مستطيل
}
الاخراج :
رابعا :الاسلوب drawRoundRect
لرسم مستطيل أو مربع أجوف ذو حواف دائرية بالعرض المعطى والارتفاع المعطى، المتغيران arcWidth, & arcHeight يحددان مقدار انحناء الحواف وياخذ الشكل التالى :
- الكود:
puplic void drawRoundRect ( int x, int y, int width, int height, int arcWidth, int arcHeight )
مثال توضيحيى
- الكود:
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
//اشتقاق مثيل من الفئة
Graphics2D g2d = (Graphics2D) g;
g2d.setStroke(new BasicStroke (4)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.red); // تحديد اللون
g2d.drawRoundRect(25, 25, 120, 120,50,50); // رسم مربع
g2d.setStroke(new BasicStroke (2)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.BLUE); // تحديد اللون
g2d.fillRect(50, 50, 75, 50); // رسم مستطيل
}
الاخراج :
خامسا :باستخدام الاسلوب fillRoundRect
لرسم مستطيل ذو حواف دائرية معبأ باللون بالعرض المعطى والارتفاع المعطى، المتغيران arcWidth, & arcHeight يحددان مقدار انحناء الحواف إحداثيات الركن العلوي الأيسر هي (x, y)
- الكود:
puplic void fillRoundRect ( int x, int y, int width, int height, int arcWidth, int arcHeight )
مثال توضيحيى :
- الكود:
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
//اشتقاق مثيل من الفئة
Graphics2D g2d = (Graphics2D) g;
g2d.setStroke(new BasicStroke (4)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.red); // تحديد اللون
g2d.fillRoundRect(25, 25, 200, 120,50,50); // رسم مربع
g2d.setStroke(new BasicStroke (2)); // تحديد حجم وسماكة الرسم
g2d.setColor(Color.BLUE); // تحديد اللون
g2d.fillRect(50, 50, 75, 50); // رسم مستطيل
}
الاخراج :
سادسا :باستخدام الاسلوب draw3DRect
لرسم مستطيل ثلاثي الأبعاد أجوف بالعرض المعطى والارتفاع المعطى وحدوده باللون الحالي، إحداثيات الركن العلوي الأيسر هي (x, y)، المستطيل يظهر بارزاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة true ويكون مجوفاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة false.
- الكود:
puplic void draw3DRect ( int x, int y, int width, int height, boolean b )
مثال توضيحيى :
- الكود:
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
//اشتقاق مثيل من الفئة
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.red); // تحديد اللون
g2d.draw3DRect(25, 25, 200, 200,true); // رسم مربع
}
الاخراج :
سابعا :باستخدام الاسلوب fill3DRec
لرسم مستطيل ثلاثي الأبعاد معبأ باللون بالعرض المعطى والارتفاع المعطى واللون الحالي، إحداثيات الركن العلوي الأيسر هي (x, y)، المستطيل يظهر بارزاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة true ويكون مجوفاً [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما نعطي المتغير b قيمة false
- الكود:
puplic void fill3DRect ( int x, int y, int width, int height, boolean b )
مثال توضيحيى :
- الكود:
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
//اشتقاق مثيل من الفئة
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.RED); // تحديد اللون
g2d.fill3DRect(20, 20, 200, 200,true); // رسم مربع
}
الاخراج :
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 3_رسم الاشكال الهندسية_ رسم المربعات و المستطيل
جميل جدا شكرا جزيلاً أستاذ احمد
السنى- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 249
النقاط : 464
التقيم : 25
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: التعامل مع الرسومات Java 2D/3D Graphics
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الثلاثاء مارس 26, 2024 6:26 pm من طرف moslema_r
» شركة تنظيف استراحات بالرياض
الأحد مارس 24, 2024 10:49 pm من طرف moslema_r
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» شركة تنظيف ثريات بالرياض
الخميس مارس 21, 2024 7:23 pm من طرف moslema_r
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد
» افضل فني كهربائي منازل بالرياض جودة 100% | اتصل الآن
الأحد مارس 17, 2024 12:36 pm من طرف رانيا حماد