PDA

View Full Version : سوال: پاک کردن نقاطی از پنل با ماوس



asma2010
پنج شنبه 08 دی 1390, 18:09 عصر
سلام من به وسیله کد زیر عکسی به نام image1 را به صورت پس زمینه لود کردم:

Panel1.BackgroundImage = image1;

و به وسیله کد زیر عکسی به نام image2 را بر روی image1 لود کردم:



private void drawP_Paint(object sender, PaintEventArgs e)


}

e.Graphics.DrawImage(image2, new Point(0, 0));



{


حال می خواهم با درگ کردن ماوس روی پنل نقاطی از image2 را که کاربر انتخاب می کند پاک کنم.چگونه امکان پذیر است؟
پیشاپیش از کمکتون ممنونم

system32
پنج شنبه 08 دی 1390, 18:18 عصر
سلام:

یعنی می خواهید کاری کنید که با کلیک ماوس روی عکس دوم اون قسمت از عکس دوم پاک بشه و قسمتی از عکس 1 که در زیر این قسمت بود نمایش داده بشه یا نه کلا پاک بشه مثل یک نقطه سفید که می تونید با SetPixel اینکارو انجام بدید. (نمی دونم اسم تابع رو درست گفتم یانه :متفکر:)

asma2010
پنج شنبه 08 دی 1390, 18:29 عصر
سلام:

یعنی می خواهید کاری کنید که با کلیک ماوس روی عکس دوم اون قسمت از عکس دوم پاک بشه و قسمتی از عکس 1 که در زیر این قسمت بود نمایش داده بشه یا نه کلا پاک بشه مثل یک نقطه سفید که می تونید با SetPixel اینکارو انجام بدید. (نمی دونم اسم تابع رو درست گفتم یانه :متفکر:)
آره می خوام عکس اول زیرش دیده بشه(بعد از پاک کردن)

system32
پنج شنبه 08 دی 1390, 22:06 عصر
سلام این راه حل به نظرم اومد ولی جواب می ده بیایید تو رویداد ماوستون این کدها را بنویسید:
Bitmap c=new Bitmap(pictureBox1.Image);
Bitmap b = new Bitmap(pictureBox2.Image);
b.SetPixel(e.X, e.Y, c.GetPixel(e.X,e.Y));

b.Save("bb.jpg");
pictureBox2.ImageLocation = "bb.jpg";

system32
پنج شنبه 08 دی 1390, 22:10 عصر
راستی یادم رفت بگم عکس شماره 2 روی عکس شماره یک قرار داره.

asma2010
جمعه 14 بهمن 1390, 11:27 صبح
سلام این راه حل به نظرم اومد ولی جواب می ده بیایید تو رویداد ماوستون این کدها را بنویسید:
Bitmap c=new Bitmap(pictureBox1.Image);
Bitmap b = new Bitmap(pictureBox2.Image);
b.SetPixel(e.X, e.Y, c.GetPixel(e.X,e.Y));

b.Save("bb.jpg");
pictureBox2.ImageLocation = "bb.jpg";
از راهنمایی شما ممنونم ولی استفاده از set pixel و get pixel خیلی زمان بر هست و من عکسم رو روی یک پنل لود می کنم.