الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: التعامل مع الرسومات Java 2D/3D Graphics
صفحة 1 من اصل 1 • شاطر
الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines
اهلا بكم
فى مقال سابق تعرفنا على الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و كيفية استخدامها فى رسم خط مستقيم فى هذا المقال سنتعرف على كيفية استخدام الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لتقديم رسوما اكثر تحكمنا ..
فى البداية حتى نتمكن من الرسم باستخدام الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] يجب إنشاء مثيل من الفئة و استخدامه كمعلمة للأسلوب paintComponent على النحو التالى :
أبسط شكل يمكنك رسمه باستخدام فئة الرسومات [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هو خط المستقيم حيث يتم استخدام الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هذه الطريقة تأخذ الشكل التالي
حيث أن x1 و y1 هي إحداثيات نقطة البداية و x2 و y2 هي إحداثيات نقطة النهاية للخط ...فعلى سبيل المثال القيم (120, 50, 360, 50) تقوم برسم خط مستقيم لنقطة البداية (50,360) و نقطة النهاية (50,120) على النحو التالى :
كما يمكنك استخدام الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لرسم خط مستقيم أكثر توجهاً و تحكما فبدلا من القيم من نوع int يمكنك استخدام القيم الصحيحة و العشرية [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط].Double و [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط].Float كما فى الشفرة التالية :
و المثال بالكامل على النحو التالى :
الاخراج :
_تحديد لون وسمك الخطوط
لتحديد لون معين للخط ، قم باستدعاء طريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] قبل عملية الرسم ، على سبيل المثال:
أما لتحديد سمك الخطوط يمكنك استخدام الكائن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] مع وضع قيمة السمك للخط على النحو التالى :
ثم وضع هذا السمك للخط المراد تضخيم حجم الخط على النحو التالى :
و الشفرة الكاملة على النحو التالى :
الاخراج :
فى مقال سابق تعرفنا على الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و كيفية استخدامها فى رسم خط مستقيم فى هذا المقال سنتعرف على كيفية استخدام الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لتقديم رسوما اكثر تحكمنا ..
فى البداية حتى نتمكن من الرسم باستخدام الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] يجب إنشاء مثيل من الفئة و استخدامه كمعلمة للأسلوب paintComponent على النحو التالى :
- الكود:
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
}
أبسط شكل يمكنك رسمه باستخدام فئة الرسومات [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هو خط المستقيم حيث يتم استخدام الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هذه الطريقة تأخذ الشكل التالي
- الكود:
void drawLine(int x1, int y1, int x2, int y2)
حيث أن x1 و y1 هي إحداثيات نقطة البداية و x2 و y2 هي إحداثيات نقطة النهاية للخط ...فعلى سبيل المثال القيم (120, 50, 360, 50) تقوم برسم خط مستقيم لنقطة البداية (50,360) و نقطة النهاية (50,120) على النحو التالى :
- الكود:
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawLine(120, 50, 360, 50);
}
كما يمكنك استخدام الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لرسم خط مستقيم أكثر توجهاً و تحكما فبدلا من القيم من نوع int يمكنك استخدام القيم الصحيحة و العشرية [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط].Double و [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط].Float كما فى الشفرة التالية :
- الكود:
// ارسم خطًا في إحداثيات عدد صحيح
g2d.drawLine(20, 50, 460, 50);
// ارسم خطًا في إحداثيات عدد عشري من نوع Double
g2d.draw(new Line2D.Double(21.5d, 199.8d, 459.5d, 199.8d));
// ارسم خطًا في إحداثيات عدد عشري من نوع Float
g2d.draw(new Line2D.Float(21.50f, 232.50f, 459.50f, 232.50f));
و المثال بالكامل على النحو التالى :
- الكود:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
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.drawLine(20, 50, 460, 50);
// ارسم خطًا في إحداثيات عدد عشري من نوع Double
g2d.draw(new Line2D.Double(21.5d, 70.8d, 459.5d, 70.8d));
// ارسم خطًا في إحداثيات عدد عشري من نوع Float
g2d.draw(new Line2D.Float(21.50f, 90.50f, 459.50f, 90.50f));
}
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);
}
}
الاخراج :
_تحديد لون وسمك الخطوط
لتحديد لون معين للخط ، قم باستدعاء طريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] قبل عملية الرسم ، على سبيل المثال:
- الكود:
g2d.setColor(Color.RED);
أما لتحديد سمك الخطوط يمكنك استخدام الكائن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] مع وضع قيمة السمك للخط على النحو التالى :
- الكود:
Stroke stroke = new BasicStroke(2f);
ثم وضع هذا السمك للخط المراد تضخيم حجم الخط على النحو التالى :
- الكود:
g2d.setStroke(stroke);
و الشفرة الكاملة على النحو التالى :
- الكود:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Stroke;
import java.awt.geom.Line2D;
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.setColor(Color.RED);// تحديد اللون
Stroke stroke = new BasicStroke(2f);// تحديد سمك الخط
g2d.setStroke(stroke);
// ارسم خطًا في إحداثيات عدد صحيح
g2d.drawLine(20, 50, 460, 50);
g2d.setColor(Color.GREEN); // تحديد اللون
g2d.setStroke(new BasicStroke(4f)); // تحديد سمك الخط
// ارسم خطًا في إحداثيات عدد عشري من نوع Double
g2d.draw(new Line2D.Double(21.5d, 70.8d, 459.5d, 70.8d));
g2d.setColor(Color.BLUE); // تحديد اللون
g2d.setStroke(new BasicStroke(6f)); // تحديد سمك الخط
// ارسم خطًا في إحداثيات عدد عشري من نوع Float
g2d.draw(new Line2D.Float(21.50f, 90.50f, 459.50f, 90.50f));
}
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);
}
}
الاخراج :
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
NEXT- الادارة
- تاريخ التسجيل : 18/02/2011
المساهمات : 446
النقاط : 200660
التقيم : 28
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: التعامل مع الرسومات Java 2D/3D Graphics
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
اليوم في 7:09 pm من طرف moslema_r
» شركة تنظيف فرشات بالرياض
الثلاثاء مارس 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 من طرف رانيا حماد