منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines

اذهب الى الأسفل

 الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines  Empty الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines

مُساهمة من طرف أحمد مناع الثلاثاء ديسمبر 03, 2019 6:58 pm

اهلا بكم

فى مقال سابق تعرفنا على الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و كيفية استخدامها فى رسم خط مستقيم فى هذا المقال سنتعرف على كيفية استخدام الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لتقديم رسوما اكثر تحكمنا ..

فى البداية حتى نتمكن من الرسم باستخدام الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] يجب إنشاء مثيل من الفئة و استخدامه كمعلمة  للأسلوب 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);
  }
}


الاخراج :

 الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines  Lines_drawing_demo_1

_تحديد لون وسمك الخطوط

لتحديد لون معين للخط ، قم باستدعاء طريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] قبل عملية الرسم ، على سبيل المثال:

الكود:
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  Lines_drawing_demo_2

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

 الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines  Empty رد: الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines

مُساهمة من طرف NEXT السبت مارس 07, 2020 4:53 pm

 الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines  1f600   الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines  1f600   الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines  1f600

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
 الرسم ثانئى الابعاد فى الجافا باستخدام Graphics2D...مقال 2_رسم الاشكال الهندسية_ رسم الحطوط Drawing lines  Do.php?imgf=154090993464951
NEXT
NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 446
النقاط : 200660
التقيم : 28
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى