• 0
mnt

اعادة احياء مشروع الرسم الجماعي

سؤال

و انا اتصفح في المنتدى رأيت هذه الفكرة

لكنها للأسف لم تنفذ لذا فكرت في اعادة احيائها

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

لكن اعتقد انه سيكون امر رائع و ايجابي

بشكل مبتديء المشروع سيكون كالأتي

1-رسم خط و مستطيل ودائرة بستخدام الماوس

2-تحديد لون الخط بالأظافة الى تلوين الأشكال و تغير لون الخلفية

3-مسح عن طريق الممحاة (صبغ باللون الابيض)

4-فتح الصور

5-عملية الحفظ

و انا ان شاء الله اول من سيبدأ المشروع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

22 إجابة على هذا السؤال .

  • 0
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.Point;

public class Paint extends JFrame {
public BufferedImage image = new BufferedImage(800,600,BufferedImage.TYPE_INT_RGB);
private JPanel canvas = new JPanel();
private Point lastPos = null;
private JPanel colorPanel = new JPanel();
private JMenuBar menuBar = new JMenuBar();
private JMenu file = new JMenu("File");
private JMenuItem colorItem = new JMenuItem("Color");
private Graphics gc;
public Paint () {
setTitle("MNT Paint");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600,400);
colorPanel.setLayout(new GridLayout(2,7));
file.add(colorItem);
menuBar.add(file);
canvas.setBackground(Color.WHITE);
canvas.setSize(400,400);

getContentPane().add(canvas, BorderLayout.CENTER);
getContentPane().add(menuBar, BorderLayout.NORTH);
setVisible(true);

gc = canvas.getGraphics();
gc.setColor(Color.BLACK);
gc.drawRect(0, 0, 100, 100);

colorItem.addActionListener(new ActionListener () {
public void actionPerformed (ActionEvent a) {
ColorDialog c = new ColorDialog ();
}
});

canvas.addMouseMotionListener(new MouseMotionListener () {
public void mouseDragged (MouseEvent m) {


Point p = m.getPoint();
gc.drawLine(lastPos.x, lastPos.y, p.x, p.y);
lastPos = p;
}
public void mouseMoved (MouseEvent m) {}
});
canvas.addMouseListener(new MouseListener () {
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {lastPos = e.getPoint();}
public void mouseReleased(MouseEvent e) {lastPos = null;}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
});
}

public void captureCanvasImage (){
System.out.println("1");
Graphics g = image.createGraphics();
canvas.paint(g);
}
class ColorDialog extends JDialog{
private JColorChooser colorChooser = new JColorChooser ();
private JButton okButton = new JButton ("OK");
private JButton cancelButton = new JButton ("Cancel");
public ColorDialog() {
setLayout(new FlowLayout());
setTitle("Color Dialog");
add(colorChooser);
add(okButton);
add(cancelButton);
pack();
setVisible(true);
okButton.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent a) {
gc.setColor(colorChooser.getColor());
setVisible(false);
}
});
}
}

public static void main (String [] args) {
Paint p = new Paint();
}
}

تم تعديل بواسطه mnt
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنا أيضا لأول مرة سأشارك في مشروع كهذا وأتمني أن يتم علي أكمل وجه وسأحاول أن أكمل علي ما وضعت أخي العزيز لنعمل جميعا في مشروع واحد وحين أنتهي من أي إضافة جديدة سأضعها ها هنا لنكمل عليها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فكره رووووووووووووعه أشكرك أخي العزيز , كنت أتمنى حد يسويها من قبل لأني حاولت مره أرسم خطوط بالماوس وفشلت فشلاً ذريعاً خلاني أكنسل الفكره :(

أتمنى يهتم بهذا الموضوع كل من لديه فكره وجزاكم الله خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

غلطة مطبعية بس :)

تم تعديل بواسطه M.Allaw
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا عندى استعداد اشترك وكان نفسى اعمل مشروع رسام من زمان

ممكن نبدا بعد عدد معين من مشتركين ونقسمها تاسكات وكل واحد ياخد جزء يشرحه لباقى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخواني M.Allaw و محمد و نيس و همسة عتاب اهلا و سهلا بكم

و بكل من سيود المشاركة و ان شاء الله سينجح المشروع

حتى الان الامور ممتازة و لو اني كنت اتمنى من المشرفين

المشاركة و لو على الاقل المراقبة و الاشراف على المشروع او حتى المباركة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حتى المباركة

مبروك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طيب ممكن نحط الشكل اللي عايزين نوصله كواجهة وقوائم ومهام علشان نقدر نقسم المشروع علي أساس واضح علي فكرة أنا بكمل علي الكود اللي حضرتك حاطه والا ننتظر لحد ما تطرحوا الشكل النهائي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم و رحمة الله و بركاته.

ما رأيكم بأن نستعمل أكواد جاهزة نقوم بالتعلم منها ثم التعديل عليها؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سلام شباب انا بدات اليوم اشتغل فى الموضوع ده

و بالنسبة لفكرتك مستر عبد الوالى هى مش غلط

بس انا شايف لما كلنا ندى فسحة لعقلنا فى التفكير و البحث و كل ٍ منا يضع افكاره و إن كانت بسيطة

هيبقى افيد و بردو كل واحد و رايه الشخصى

و ربنا معانا

سلام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

import com.sun.net.httpserver.Filter;
import com.sun.net.httpserver.Filter.Chain;
import com.sun.net.httpserver.HttpExchange;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.awt.image.ColorModel;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.Point;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileView;
import javax.swing.plaf.FileChooserUI;
import javax.swing.filechooser.*;

public class PaintPr extends JFrame {

// Declaring Image
public BufferedImage image = new BufferedImage(800,600,BufferedImage.TYPE_INT_RGB);
// Declaring a Jpanel as canvas
private JPanel canvas = new JPanel();
private boolean d=false;
// Declaring a Point as lastpos
private Point lastPos = null;
// Declaring a Jpanel as colorPanel
private JPanel colorPanel = new JPanel();
// Declaring Tools Panel to contain in the future some used tools like squer or circle...
private JPanel toolsPl = new JPanel();
// Declaring a JmenuBar as menuBar
private JMenuBar menuBar = new JMenuBar();
// Declaring a JMenu as File
private JMenu file = new JMenu("File");
//to paint anew Image or clear the panel
private JMenuItem newimage = new JMenuItem(" New ");
// to open an Image to be modified
private JMenuItem openimage = new JMenuItem(" Open ");
// to save the painted Iamge
private JMenuItem saveimage = new JMenuItem(" Save as ");
// to Change the Color
private JMenuItem colorItem = new JMenuItem(" Color ");
private Graphics gc;


public PaintPr () {
setTitle(" Paint from ArabTeam ");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600,400);
colorPanel.setLayout(new GridLayout(2,7));
////////////

file.add(newimage);
file.add(openimage);
file.add(saveimage);
file.addSeparator();
file.add(colorItem);
///////////
menuBar.add(file);
canvas.setBackground(Color.WHITE);
canvas.setSize(400,400);

getContentPane().add(canvas, BorderLayout.CENTER);
getContentPane().add(menuBar, BorderLayout.NORTH);
getContentPane().add(toolsPl ,BorderLayout.EAST);
this.setResizable(false);
this.setLocation(200,200);
setVisible(true);
gc = canvas.getGraphics();
gc.setColor(Color.BLACK);
gc.drawRect(0, 0, 100, 100);
// Load ColorDialg when user click on the coloritem
colorItem.addActionListener(new ActionListener () {
public void actionPerformed (ActionEvent a) {
ColorDialog c = new ColorDialog ();
}
});
// action Listern To Clear the Panel
newimage.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
canvas.repaint();
}
});
//Action Listener for loading a picture
openimage.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

FileDialog f = new FileDialog(PaintPr.this,"Open");
f.setMode(f.LOAD);
f.setFile("*.jpg");
f.setDirectory("C:\\");
f.setVisible(true);

}
});

canvas.addMouseMotionListener(new MouseMotionListener () {
public void mouseDragged (MouseEvent m) {
if (d==false)
{
Point p = m.getPoint();
gc.drawLine(lastPos.x, lastPos.y, p.x, p.y);
lastPos = p;
}
}
public void mouseMoved (MouseEvent m) {}
});

canvas.addMouseListener(new MouseListener () {
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {lastPos = e.getPoint();}
public void mouseReleased(MouseEvent e) {lastPos = null;}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
});
}

public void captureCanvasImage (){
System.out.println("1");
Graphics g = image.createGraphics();
canvas.paint(g);
}

// class ColorDialog
class ColorDialog extends JDialog{
private JColorChooser colorChooser = new JColorChooser ();
private JButton okButton = new JButton ("OK");
private JButton cancelButton = new JButton ("Cancel");

public ColorDialog() {
setLayout(new FlowLayout());
setTitle("Color Dialog");
add(colorChooser);
add(okButton);
add(cancelButton);
pack();
setVisible(true);
okButton.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent a) {
gc.setColor(colorChooser.getColor());
setVisible(false);
}
});
}
}

public static void main (String [] args) {
PaintPr p =new PaintPr();
}
}

أنا كملت علي الكود اللي بدات بيه وأنا شغال علي netbeans أنا ضيفت حاجات بسيطة جدا بس قولت احطها علشان أأكد بأني جاد في المشاركة وكمان أود من خبراء الجافا أن يقدموا لي بعض النصائح المتعلقة بالتعليقات داخل الكود وهل لها عرف معين بالنسبة للعمل

أنتظر تعليقات اساتذتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بداية مشكور اخ محمد ونيس على الاضافة و على التعليقات الموضحة للمشروع

و بالنسبة لأخي عبد الولي اللي عندو اي فكرة او اي كود جاهز يمكن ان يفيد مشروعنا و يسرع العمل

مش غلط فالبرمجة الحديثة كلها تعتمد على الكودات الجاهزة

اما بانسبة لشكل البرنلمج فهذا ليس خلافنا مع اني اتمنى ان يكون شبيه بالرسام اللي من الويندوز

حتى يكون سهل الاتخدام و معروف

بالنسبة للعمل على النتبينز انا لست بجيد عليه كثير

لذا لو من الممكن لو انت تتكفل بالعمل عليه اقصد ان اعطيك الكود و تضيفه انت على البرنامج

انا الان اعمل على رسم الدائرة المستطيل و الخط فاذا كان عند احد منكم معلومة فلا يبخل علي

تم تعديل بواسطه mnt
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا حاسه ان كل واحد بدا يشتغل من غير ما نظم شغل ونشوف كل واحد هيعمل ايه ممكن لو نتجمع ساعه يوميا حسب ظروف كل واحد علشان نتفق فبداية العمل الناجح خطه منظمه حتى ينتهى بنجاح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
انا حاسه ان كل واحد بدا يشتغل من غير ما نظم شغل ونشوف كل واحد هيعمل ايه ممكن لو نتجمع ساعه يوميا حسب ظروف كل واحد علشان نتفق فبداية العمل الناجح خطه منظمه حتى ينتهى بنجاح

عندك حق طبعا وأنا وضعت إضافة لا تذكر ليس لشئ ولكن فقط كأثبات للجدية من قبلي ولهذا ذكرت أيضا أننا نحتاج لأن نتفق علي شكل البرنامج النهائي لأنه علي أساس الشكل النهائي سنستطيع تقسيم العمل ومعرفة المطلوب من كل فرد وأؤيد أقتراحك بأننا نحتاج الي موعد لنجتمع سويا نناقش وننظم المشروع فيها وأترك تحديد الموعد لمحيي الدعوة للمشروع أخونا العزيز mnt

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
بداية مشكور اخ محمد ونيس على الاضافة و على التعليقات الموضحة للمشروع

و بالنسبة لأخي عبد الولي اللي عندو اي فكرة او اي كود جاهز يمكن ان يفيد مشروعنا و يسرع العمل

مش غلط فالبرمجة الحديثة كلها تعتمد على الكودات الجاهزة

اما بانسبة لشكل البرنلمج فهذا ليس خلافنا مع اني اتمنى ان يكون شبيه بالرسام اللي من الويندوز

حتى يكون سهل الاتخدام و معروف

بالنسبة للعمل على النتبينز انا لست بجيد عليه كثير

لذا لو من الممكن لو انت تتكفل بالعمل عليه اقصد ان اعطيك الكود و تضيفه انت على البرنامج

انا الان اعمل على رسم الدائرة المستطيل و الخط فاذا كان عند احد منكم معلومة فلا يبخل علي

بالنسبة لإضافة الكود مفيش مشكلة وأنا تحت أمرك ,وبأييد فكرة ان البرنامج يكون مبدئيا شكل رسام الويندوز,

لذلك ستجد القائمة الأولي التي وضعتها تشبه كثيرا شكل قائمة الرسام

كما ستجد في الكود ايضا إضافة بانل فاضي ياريت لو هتضع المربع والدائرة أو اي اشكال جاهزة تكون علي شكل زرار علي البانل دي اللي هتبقي موجودة بجانب الرسمة وهي أيضا شبيهه برسام الويندوز

وأتمني ان تحدد موعد مبدئيا لنناقش خطوات المشروع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مازلت أنتظر موعدنا للاجتماع وما زلت اعمل علي المشروع وأرغب في مساعدة صغيرة

أنا حملت الصورة من الجهاز ثم قمت بعرضها في بانل الرسم ولكن لا تظهر الصورة الا عند الضغط أو تكبيرأو تحريك الفريم ما أفعل لأجعلها تظهر مباشرة

بالنسبة للكود فأنا عملت ميثود كالأتي

 //Method to load File dialog
public void openImag ()
{
FileDialog f = new FileDialog(PaintPr.this,"Open");
f.setMode(f.LOAD);
f.setFile("*.GIF");
f.setDirectory("C:\\");
f.setVisible(true);
Path = f.getDirectory();
Path=Path+f.getFile();
setTitle(Path);
if (f.getFile()!=null)
{
// creating a Label to hold the image
label = new JLabel();
// creating a scrollPane to hold the label
jsp = new JScrollPane(label);
// adding the scrollpane to the JPanel canvas
canvas.add(jsp);
// giving the image path
label.setIcon(new ImageIcon(Path));

}

}

ياريت مساعدتكم وياريت تحددوا لنا موعد للقاء وليكن غدا ليلا إن أمكن

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لماذا التوقف عن المشروع ؟؟؟؟؟؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عندي فكرة وهي انو المشروع لازم يكون على SVN

عندي استضافة SVN مجانية,يلي جدي بالمشروع منعطي كلمة سر,الاستضافة مجانية تبعي :-)

هي الطريقة المثلى كل المشاريع المفتوحة المصدر هيك,و حتى بداخل الشركات.

شو رأيكم.

سلام.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كلمنا قليلاً عن موضوع svn

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أسف ماانتبهت لسؤالك اخي علاء الصالحي, و بتصدق كنت عم اقرأ هداك الموضوع و سوف اجوابك السؤال نفسه.

شو ميشان المشروع سو يتوقف ام لا؟.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .