السلام عليكم اخواني ...
أحب استفسر عن طريقة تعبئة منطقة معينة في صورة أو رسم ...
تماما كوظيفة هذا الأمر في برنامج الرسام ...
v
v
v
v
v

وشكرا لكم ...
السلام عليكم اخواني ...
أحب استفسر عن طريقة تعبئة منطقة معينة في صورة أو رسم ...
تماما كوظيفة هذا الأمر في برنامج الرسام ...
v
v
v
v
v

وشكرا لكم ...
السلام عليكم
بإمكانك العمل بهذه الطريقة
أولا تحميل الصورة الخلفية لمجال الرسم
bitmap = new Bitmap(Application.StartupPath + "\\background.bmp"); bitmaptemp = (Bitmap)this.bitmap.Clone(); gr = Graphics.FromImage(bitmaptemp); gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; this.pictureBox1.Image = bitmaptemp;
وهذا لإختيار لون المستطيل الذي تريد رسمه
ColorDialog CDLG = new ColorDialog(); CDLG.ShowDialog(); AliceblueBrush = new SolidBrush(CDLG.Color);
وهذا لرسم المستطيل في إحداثيات يتم إختيارها إعتباطيا:Random
Random RR = new Random(); // back.bmp is image witch should be with the debug folder gr = Graphics.FromImage(bitmaptemp); this.pictureBox1.Image = bitmaptemp; // Create rectangle for the Elipse with random size. rect = new Rectangle(RR.Next(150), RR.Next(150) , 50, 50); // Fill rectangle on screen. gr.FillRectangle(AliceblueBrush, rect); gr.DrawRectangle(new System.Drawing.Pen(CDLG.Color, 0), rect); bitmaptemp = (Bitmap)this.bitmap.Clone();
وهذا لحفظ الصورة بعد رسم المستطيل
SaveFileDialog SVF = new SaveFileDialog();
SVF.InitialDirectory = @"c:\";
SVF.Filter = "All files (*.*)|*.*|JPEG files (*.jpg)|*.jpg";
SVF.FilterIndex = 2;
SVF.RestoreDirectory = true;
if (SVF.ShowDialog() == DialogResult.OK)
{ Bitmap image = new Bitmap(pictureBox1.Image);
image.Save(SVF.FileName);
}وهذا لإلغاء إضافة المستطيل
this.pictureBox1.Image = bitmaptemp;
والله أعلم
معليش أخي بس يبدو ما فهمت قصدي ...
مثلا لو عندي صورة بهذا الشكل ...

وأحدد نقطة معينة من الصورة ولتكن النقطة (0,0) ... واستخدم أمر التعبئة المطلوب لتكون النتيجة بهذا الشكل ...

ياليت تفيدوني في طريقة التلوين بهذا الشكل ...
هل مثلا استخدم Fill Region ... ؟؟
ولكن كيف اضيف هذه الحدود كإطار لا يتجاوزه التلوين ... ؟؟؟
هذا الموضوع مغلق.