السلام عليكــم ورحمـة الله وبركاتــه ،،
إخوتي ,اخواتي كيف حالكم
أقدم إليكم رسام بسيط بالجافا
هذا يعتبر أول أعمالي بالجافا بعيدا عن قواعد البيانات وبه تعلمت الجافا
كم أود أن أسمع أراكم التي بلا شك ستفيدني في مشاريعي القادمة
شكراً لكم
إليكم المشروع
السلام عليكــم ورحمـة الله وبركاتــه ،،
إخوتي ,اخواتي كيف حالكم
أقدم إليكم رسام بسيط بالجافا
هذا يعتبر أول أعمالي بالجافا بعيدا عن قواعد البيانات وبه تعلمت الجافا
كم أود أن أسمع أراكم التي بلا شك ستفيدني في مشاريعي القادمة
شكراً لكم
إليكم المشروع
الايميل غير صحيح
يرجى تصحيح الايميل برسالة لأحد مدراء المنتدى
الصور في الtoolbar لا تظهر كلها، وبالتحديد التي تستعمل الكلاسات التي ترث من AbstractAction
أنت تستعمل constructor الذي يقبل فقط String، يوجد constructor آخر ينتظر String و Icon
AbstractAction(String name, Icon icon)
ممكن تستعمله لإظهار الصور، حتى يكون مظهره جميل وتبيعه بسعر أغلى :wink:
تم تعديل هذه المشاركة بواسطة herch في 28 يوليو 2009 في 00:18
مشروع جميل و شكراً لك
و فى دوام التقدم العلمى
و أسمع كلام الأخ عصام ياعم عشان تربح :lol:
شكلك يا عصام ناوى تشتغل فى مجال بيع البرامج :cash:
سلام
تم تعديل هذه المشاركة بواسطة mr.beshoy في 28 يوليو 2009 في 01:56
السلام عليكــم ورحمـة الله وبركاتــه ،،
شكرا لمشاركتك للكود
راح أحاول أفهم البرنامج وراح استفيد منه إن شاء الله <<<< مع اني غاسل يدي من الموضوع هذا بس بأحاول
يعطيك العافيه :happy:
ممتاز أخ أحمد , وفعلا مشروع و الله جميل ..
شكرا على مجهوداتك.
هناك مشكلة في موضوع الجزء الذي يتلون بلون آخر على أساس أنه تم تحديده على ما أعتقد
لا أعرف ما السبب لكنها لا تعمل جيداً
على كل الوضع جميل جداً
بالمناسبة لماذا استخدمت Observer في الشيفرة
تحياتي
السلام عليكم , البرنامج جميل كواجهة , وجميل من ناحية تنظيم الكود , أراك استخدمت أحد طرق Design Pattern , أقرأ عنها كثيراً ولم أطبقها حتى الان ,
لدي ملاحظات :
1- عندما تضيف خط مستقيم مثلا , سيظهر خط وهمي ارشادي , بطيء ومتكسر في حركته .. أعتقد أنه يحتاج الى اعادة نظر , لم اتتبع الكود , لكن يمكن تحسين السرعة ونعومة الحركة بشكل سهل , لا أعرف كيف تقوم برسم الخطوط الوهمية .
2- طريقتك بشكل عام في اختيار الاشكال المرسومة ( لتحريكها أو حذفها .. ) غير عملي , لا أعرف كيف تقوم باكتشاف موقع الفأرة بالنسبة للشكل , لكنها غير دقيقة , يعني لو رسمت منحنى , يبدو لي أنك تقوم باستخلاص مستطيل وهمي يحيط بالمنحنى المرسوم ثم تكتشف موقع الفأرة مع هذا المستطيل .. طريقة الاكتشاف معقدة مع هكذا اشكال , ولا ألومك في عدم دقة عملية اختيار الاشكال .
3- لايمكن الحفظ الى صورة من نوع Bmp على الاقل , هذا سهل .. ومهم .
عموماً دعونا نتحرك خطوة الى الامام ونتكلّم بصراحة ..
طريقة تفكيرنا في برنامج للرسم أصلاً خاطئة .. كنت قد عملت برنامج مشابه باستخدام لغة السي بلس و OpenGL , وقطعت مشوار جيد , لكن وجدت أني أدور في حلقة مفرغة . سأضع البرنامج في قسم OpenGL ان شاء الله لتقييمه .
عندما نقوم برسم خط ... نقوم باضافة Shape الى Stack او Vector .. أو الى أي حاوية .
وعندما نرسم نص , نضيف هذا النص الى Stack .
وهكذا .. مع كل الاشكال ,
نحاكي عملية Undo و Redo بعمل push و pop من والى الـ Stack .
في النهاية , نعمل loop على Stack لرسم محتوياته ؟!
مانقوم بعمله ليس برنامج لمعالجة الصور ( البكسلية ) , انما نقوم بعمل برنامج شبيه بما يسمّى Vector graphics .
لنكون قادرين على عمل برنامج لمعالجة الصور , يجب أن نتعامل على مستوى البكسل , نقوم بعمل تعبئة Filling لمنطقة محددة , ثم ننشى طبقة أخى ونرسم عليها وندمج الطبقتين مع بعض باستخدام Blending ..لدينا فرشاة نرسم بها .. وممحاة نزيل مارسمنا ..لايوجد لدينا Stack يحمل مجموعة من الاحداثيات التي تمثل أشكال مرسومة , بل يوجد لدينا Buffer أو أكثر من Buffer يحملون مجموعة من البكسل التي يمكن خلطها مع بعض لتشكيل الوجهة النهائية Front Buffer . الأمر يحتاج لنقاش معمّق , لكيفية صناعة برنامج رسم صحيح من الاساس .
طبعاً , الكلام ليس موجهاً لبرنامج الاخ أحمد , هو يقول أنه مبتدئ في هذا المجال , والبرنامج الذي عمله ممتاز , ويمكن أن يطوره ليكسب خبرة اضافية , لكن ما أود الوصول اليه هو التفكير بطريقة مختلفة بالنسبة لمسألة برامج الرسم و معالجة الصور .
المشكلة في المفهوم نفسه غير واضح لدينا ..
تم تعديل هذه المشاركة بواسطة الشمري في 30 يوليو 2009 في 01:28
تطبيق طمأنينة ، نسخة بيتا على أندرويد
عبدالله الشمّري - Al-Shammari
twitter @abshammeri
abshammeri AT gmail.com
github : abshammeri
السلام عليكــم ورحمـة الله وبركاتــه ،،
إخواني شكرا على التفاعل البناء :happy:
اقتباسلصور في الtoolbar لا تظهر كلها، وبالتحديد التي تستعمل الكلاسات التي ترث من AbstractActionأنت تستعمل constructor الذي يقبل فقط String، يوجد constructor آخر ينتظر String و Icon
كود
AbstractAction(String name, Icon icon)
أخي عصام لا حاجة لهذا الconsructor فالجزء الذي يظهر الصور داخل الconsructor الموجود لكني أعمل علي اللنيكس لذا فالفاصل تجده "/" بدلاً من "\\" للويندوز
اقتباسمشروع جميل و شكراً لكو فى دوام التقدم العلمى
و أسمع كلام الأخ عصام ياعم عشان تربح laugh.gif
شكلك يا عصام ناوى تشتغل فى مجال بيع البرامج Bg_030.gif
شكراً أخي بشوي على مداخلتك الجميلة
ولا تقلق ملاحظات أخي عصام محفورة في عقلي يعني هنبيع هنبيع
اقتباسلسلام عليكــم ورحمـة الله وبركاتــه ،،شكرا لمشاركتك للكود
راح أحاول أفهم البرنامج وراح استفيد منه إن شاء الله <<<< مع اني غاسل يدي من الموضوع هذا بس بأحاول
يعطيك العافيه happy.gif
شكرا لك على مرورك
اقتباسهناك مشكلة في موضوع الجزء الذي يتلون بلون آخر على أساس أنه تم تحديده على ما أعتقدلا أعرف ما السبب لكنها لا تعمل جيداً
على كل الوضع جميل جداً
بالمناسبة لماذا استخدمت Observer في الشيفرة
تحياتي
أخي لا أعلم أين هي المشكلة بالضبط فكل شئ يعمل جيداً
إستخدمت observer لاني أستخدم Design Pattern الModel View (كما أنت أكيد لاحظت)
أخ الشمري أعترف أن ملاحظاتك كلها في محلها من نظرك كمتخصص في الجرافيك
لكن أريد ان أقول أن لم أبرمج هذا البرنامج ليكون برنامج رسام أكثر من أن يكون ملماُ بكل أساسيات الجافا أي كبرنامج تدريب لا أكثر
فأنا قدراتي في الجرافيك ضعيفة إلي أبعد الحدود
وبصراحة ردك علمني أشياء لم أكن أعلمها
و على فكرة أنا لم أستعمل الOpenGL
وشكرا على إهتمامك الرائع هذا
اقتباسممتاز أخ أحمد , وفعلا مشروع و الله جميل ..شكرا على مجهوداتك.
شكراً على مرورك
,اخيرا أنا أعتذر عن عدم الرد بسبب عملي
وشكراًً
الايميل غير صحيح
يرجى تصحيح الايميل برسالة لأحد مدراء المنتدى