السلام عليكم...
اثناء عملي لبرنامج رسام...باستخدام tabControl ....كخلفية للرسم...
اريد ان احفظ الصورة الناتجة عن الرسم كصورة jpeg و اخزنها في كمبيوتري....كيف ذلك؟؟
شكرا لكم....
السلام عليكم...
اثناء عملي لبرنامج رسام...باستخدام tabControl ....كخلفية للرسم...
اريد ان احفظ الصورة الناتجة عن الرسم كصورة jpeg و اخزنها في كمبيوتري....كيف ذلك؟؟
شكرا لكم....
Currently working on ASP.net ..... come Back Soon
عليكم السلام ورحمة الله وبركاته
SaveFileDialog SFD = new SaveFileDialog();
SFD.Filter = "Image Files(*.JPG)|*.JPG";
if (SFD.ShowDialog() == DialogResult.OK && SFD.FileName != string.Empty)
{
int width = tabPage1.Size.Width;
int height = tabPage1.Size.Height;
Bitmap bm = new Bitmap(width, height);
tabPage1.DrawToBitmap(bm, new Rectangle(0, 0, width, height));
bm.Save(SFD.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
}تم تعديل هذه المشاركة بواسطة Rose Muhammed في 1 يوليو 2011 في 21:55
((إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا))
شكرا لك اخي...
الكود تقريبا قد عمل...و لكن المشكلة انه يأخذ صورة tabPage1 فقط بدون أن يأخذ الخطوط و الالوان التي يحويها.....فقد استخدمت tabPage1 لكي ارسم عليها....و لكن يقوم بحفظ الصورة بيضاء بدون اية خطوط مرسومة..
فما السبب؟؟؟؟
Currently working on ASP.net ..... come Back Soon
السلام عليكم ورحمه الله وبركاته
اخي الكود سليم, تأكد انك قمت بالرسم في الحدث Paint لل tabPage1؟!!
.:: Wish to become better and better ::.
VB Helper كتب:السلام عليكم ورحمه الله وبركاته
اخي الكود سليم, تأكد انك قمت بالرسم في الحدث Paint لل tabPage1؟!!
لا قمت بالرسم بالحدث tabPage1_MouseMove>>>>>.....كيف يمكنني الرسم بالحدث paint
المشكلة انه تلزمني احداثيات كل نقطة..لذلك استخدمت هذا الحدث ...
Currently working on ASP.net ..... come Back Soon
السلام عليكم ورحمه الله وبركاته
اخي قم بحفظ احداثيات الفأرة في متغيران واستخدم الحدث paint ومن ثم استخدم الكود السابق ليتم حفظ الصوره مع الوان والخطوط ... الخ
.:: Wish to become better and better ::.
يا جماعة .الكود مش عم بزبط ..ليش؟
الكود الذي وضعته من قبل...كان كل شي تمام...بس الخطوط ما عم تطلع مع الصورة المحفوظة...علما انني كتبت الكود في tabPage1_mousemove
و لكن tabPage_paint event لم استخدمه ابدا....كما يلي
private void tabPage1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
x = e.X;
y = e.Y;
p1.X = x;
p1.Y = y;
p2.X = x + 1;
p2.Y = y + 1;
tabPage1.CreateGraphics().DrawLine(myPen, p1, p2);
}ثم كما قال الاخ vb helper قم بتعديل الكود لاضعه في Paint event ...و لكن لم استطع جعل الرسم مستمر عند ضغط الماوس...اي يمكن فقط رسم خط مثلا عند بداية التشغيل...و لكن اثناء التشغيل فلا يمكن
الكود كما يلي:
if (e.Button == MouseButtons.Left)
{
x = e.X;
y = e.Y;
p1.X = x;
p1.Y = y;
p2.X = x + 1;
p2.Y = y + 1;
}private void tabPage1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawLine(myPen, p1, p2);
}حيث p1,p2,x,y متحولات معرفة على الكلاس....و هي ستاتيكية...
ارجو الرد....و تعديل الكود....او كتابة الكود الازم....حتى استطيع حفظ الصورة الناتجة....بكامل تفاصيلها....
اذا اردتم سأرفع مرفق......و لكم جزيل الشكر
تم تعديل هذه المشاركة بواسطة Hisham_IT في 5 يوليو 2011 في 00:02
Currently working on ASP.net ..... come Back Soon
ما بدي اصير نقاق.....بس والله ضروري
ارجو الاطلاع على الموضوع....
Currently working on ASP.net ..... come Back Soon
السلام عليكم ورحمه الله وبركاته
اخي ممكن ترفق مشروعك ليتم النظر في المشكلة
.:: Wish to become better and better ::.
السلام عليكم...
اخي الكود تقريبا زبط معي عن طريق استخدام خلفية لل tabPage1 ..و لكن رأيت انه في كل مرة يتحرك الماوس يقوم بتعديل الخلفية...و هذا كان امرا مرهقا للمعالج...و بطيء
لذلك ما اريده مثلا هم جعل كل عنصر ارسمه ك object في الذاكرة عن طريق استخدام buffer >>>هل يمكن ذلك
هذا هو المرفق....لا حظ انه لا يتم حفظ الا الاشكال التي سبق لها ان عمل لها paint ...اما الاشكال التي يتم رسمها فلا يحفظها
Currently working on ASP.net ..... come Back Soon
السلام عليكم ورحمة الله وبركاته
اخي انصحك بإضافة Panel or PictureBox داخل التاب وقم بضبط الخاصية
Dock=Fill ثم قم بالرسم عليها.
شوف هذا الرابط فيه درس عن الرسم حلو وبسيط وهذا تحميل الكودحقه .
على فكرة هو استخدم الحدث MouseUp في تثبيت الرسم في خلفية البنل , في نفس الوقت في الحدث MouseMove يعمل تحديث لخلفية البنل, يعني ما حل المشكلة اللي تتكلم عنها.
اقتباسو لكن رأيت انه في كل مرة يتحرك الماوس يقوم بتعديل الخلفية...و هذا كان امرا مرهقا للمعالج...و بطيء
لذلك ما اريده مثلا هم جعل كل عنصر ارسمه ك object في الذاكرة عن طريق استخدام buffer
لكن بالنسبة لعملية الحفظ بهذه الطريقة ان شاء الله ما راح تواجه مشاكل.
((إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا))
شكرا لك Rose......
بالنسبة للكود ما بعرف لش ما عم يشتغل...>>و المدونة رائعة على فكرة
خطرت لي فكرة فيما بعد ....بأن احفظ الخط المرسوم او النقطة على شكل مجموعة من النقاط.....Point Collection....و بذلك اظن بيمشي الحال...بس لم اجرب بعد
Currently working on ASP.net ..... come Back Soon
السلام عليكم ورحمة الله وبركاته
اقتباسبالنسبة للكود ما بعرف لش ما عم يشتغل..
اذا كنت تقصد كود حفظ الصورة فاستبدله بالكود اللي كتبته سابقا^
اما باقي الكود سليم
عموماً اتمنى لك التوفيق.
((إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا))
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…