الشبكة العربية لمطوري الألعاب

خبير مشرف مؤيد مارديني مشاركة 1

مرحباً,
أقدم لكم في هذا الموضوع برنامج كامل للرسم مع دعم كامل للـ Vector Graphics, البرنامج معتمد على تقنيات الدوت نيت الإصدار الثاني, باستخدام لغة الـ Visual Basic .NET
مميزات البرنامج :
-Myv : و هو XML Format خاص بالبرنامج يحفظ الصورة على شكل عناصر , أي Vector Format
Myd : و هو File Fromat خاص بالبرنامج يحفظ الصورة على شكل نقط (24bpp), أي أنه Raster Format
-كل ميزات برامج التصميم التي تعتمد مبدأ الـ Vector, تغيير أبعاد الشكل, تغيير الإحداثيات, أو اللون, الشفافية,سماكة الخط, الـ Font
-دعم كامل لأنواع الصور الشهيرة Bmp,Jpg,Gif,Tiff
-دعم كامل للطباعة

المشروع كاملاً يمكنك تحميله من هنا :
http://www.mmardini.somee.com/m-painter_1.0.zip

** البرنامج قيد التطوير و التوثيق حتى الآن , رغم ذلك كتبت توضيحات على الأجزاء الهامة من الكود **
أرجو وضع أي مساهمة أو اقتراح أو استفسار عن البرنامج

شكراً,
Moayad Mardini

Moayad Mardini,
MSDN Forums Moderator

خبير  Mohammad Khashashneh مشاركة 2

I 've checked m-painter and played around with it for a while.
I must say that I am impressed with your skills for a “student interested in programming”. congratulations on your efforts.

I 'll give you my opinion based on a user point of view, since I have no knowledge in either VB nor .NET. I'll leave the code discussions for the others to take.

To be honest with you , you still need to work on your GUI. When I first tried it I thought it looks weird for a paint program.
Try to keep it more familiar. This is important for the user to be able to learn how to use your application easily. Everybody knows paint, and everybody will expect any other painting application to have similar characteristics.
Its nice to try new things but not on the expense of the complexity of your application or the user learning curve. You can better make use of menus, Toolbars and context menus .

Other problems are with the application itself, but you said that it is still in development so I assume this is just an alpha or even a demo version. Anyway try to keep an eye on your memory and processor usage. For some reason, I can hear my CPU fan roaring whenever I start painting☺

Your application has a nice set of features but the UI is not as much as nice.
So far so good, Keep up the good work.

من سار على الدرب وصل, من جد وجد...
بس عتبك على اللي بيسمع

خبير مشرف مؤيد مارديني مشاركة 3

شكراً لك يا محمد على الاقتراحات , و كما قلت يجب أن تكون الـ UI مماثلة للبرامج الأخرى حتى لا يحس المستخدم أنه مبتدئ في برامج التصميم☺
على كل حال الاطلاع على واجهات البرامج التجارية قد تساعد في تحسين واجهة المستخدم

Moayad Mardini,
MSDN Forums Moderator

خبير مدير وسام البهنسي مشاركة 4

أنصح بالابتعاد عن إظهار القيم الرقمية كشكل أساسي.
ضع الأرقام في status bar مثلاً...

وسام البهنسي
مبرمج في يونيتي وإنفريمز

خبير مشرف مؤيد مارديني مشاركة 5

شكراً لك على الاقتراح الرائع☺
قمت بما يلي (طبعاً يمكن تحميل المشروع بعد التعديل من الوصلة السابقة) :
المعلومات (X,Y,سماكة الخط,العرض,الطول) أصبحت تظهر في StatusStrip , و في حال كنت قد اخترت أكثر من Object سيظهر المتوسط, و يمكنك تعديل أي خاصية بالضغط عليها.
تم تصحيح بعض مشاكل الأداء و بعض الـ Bugs
أضفت شريطين لتغيير الأداة المستخدمة و اللون المستخدم ببساطة و سرعة
تم إضافة الشكل المضلع و الشكل المنحني , يمكنك إضافة نقطة جديدة بالضغط بالزر الأيسر للماوس, و يمكنك إغلاق الشكل بالضغط بالزر الأيمن و يوجد خيار لتعبئة الشكل

شكراً لكم,
Moayad Mardini

Moayad Mardini,
MSDN Forums Moderator

خبير مشرف مؤيد مارديني مشاركة 6

آخر التعديلات :
-إصلاح أخطاء كانت تؤدي إلى زيادة استهلاك البرنامج للذاكرة و إصلاح بعض مشاكل الأداء و القضاء على بعض الـ Bugs.
-إضافة زرين جديدين , الأول يقوم بنقل العنصر المختار إلى الأمام (بحيث يصبح فوق غيره من العناصر) و الآخر إلى الخلف (تحت غيره من العناصر).
بالمناسبة لمن اطلع على الكود قمت بتغيير الـ Objects من Array عادية إلى ArrayList

Moayad Mardini

Moayad Mardini,
MSDN Forums Moderator

خبير مدير وسام البهنسي مشاركة 7

جربت النسخة الحديثة. وهي متحسنة بشكل كبيييير عن سابقاتها. لكني لم أستطع أن أحرك الأشكال بسحبها بالماوس. كما أنه تظهر بعض النقاط الصغيرة حول الأشكال لا أدري ما هي...
أحببت ميزة تغيير الترتيب في الرسم.
عملية الاختيار بطيئة جداً برأيي. لا أدري لم أحسها تستهلك الكثير من المعالجة...
مجموعة الألوان الموضوعة في الواجهة رائعة! وهي تجعلك تحس بأنك حقاً تستخدم برنامج رسم!
اقتراح: أن تصبح عملية إضافة النص كما هي في Photoshop. أي تختار المكان الذي ستضيف فيه النص، ثم تكتب هناك مباشرة...

وسام البهنسي
مبرمج في يونيتي وإنفريمز

خبير مشرف مؤيد مارديني مشاركة 8

بالنسبة للنقاط ذات اللون الأحمر فهي تمثل زوايا الشكل, عند اختيار المؤشر "Pointer" يكون هناك ثلاث احتمالات, إما أن تضغط بالزر الأيسر للـ Mouse على الـ X و Y الخاص بالشكل ثم تسحب و تفلت فيتم نقل الشكل إلى المكان الجديد و أما إن ضغطت بالزر الأيمن على أي زاوية ثم سحبت المؤشر و أفلته فسيتم إعادة تحجيم الشكل حسب الزاوية التي ضغطت عليها.
نعم هناك احتمال ثالث هو أن تضغط باستخدام الزر الأيسر على أي مكان على حدود الشكل أو داخله (حتى لو كان مفرغ) فتقوم باختياره لوحده , ماذا لو أردت اختيار أكثر من شكل؟ , في هذه الحالة اضغط بالزر الأيسر أيضاً (كل المهام بالزر الأيسر إلا تغيير الحجم) في أي نقطة و اسحب ليتم اختيار أي شكل يقع في المنطقة التي اخترتها!!

شكراً جزيلاً لك و سأنفذ اقتراحاتك إن شاء الله,
Moayad Mardini

Moayad Mardini,
MSDN Forums Moderator

خبير مدير وسام البهنسي مشاركة 9

لكنني لم أستطع استخدامها بسبب تناهي صغر حجمها!
هلا جعلتها أكبر (مربع 5 بكسل أو دائرة 5 بكسل) بحيث يصبح مجال الالتقاط أكبر وأسهل للمستخدم؟

وسام البهنسي
مبرمج في يونيتي وإنفريمز

خبير مشرف مؤيد مارديني مشاركة 10

التعليق على مشاركة وسام البهنسي في Feb 6, 2006 21:49 :

> لكنني لم أستطع استخدامها بسبب تناهي صغر حجمها!
> هلا جعلتها أكبر (مربع 5 بكسل أو دائرة 5 بكسل) بحيث يصبح
> مجال الالتقاط أكبر وأسهل للمستخدم؟

حسناً الآن أصبحت كل نقطة (5*5) بدلاً من (1*1), شكراً لاقتراحك☺
Moayad Mardini

Moayad Mardini,
MSDN Forums Moderator