دوستان من روی یک picturebox با تابع drawline خطی رسم کرده ام حالا میخام بدون اون خط از بین بره و پس زمینه که همون عکس باشه مثل ااول نشون داده بشه باید چه کارکنم؟
ممنون
دوستان من روی یک picturebox با تابع drawline خطی رسم کرده ام حالا میخام بدون اون خط از بین بره و پس زمینه که همون عکس باشه مثل ااول نشون داده بشه باید چه کارکنم؟
ممنون
کافیه پیکچرباکس رو Refresh کنید!(متد Refresh رو صدا بزنید.)
ینی می خوای خط ذخیره شده باشه اما نشون داده نشه؟
ممنون از بچه هایی که جواب دادن
نه ببینید فرض کنید من 2000 تا خط روش کشیدم و فقط 3 یا 4 تاش رو میخام پاک کنم (البته خطها هیچ تداخلی با همن دارن و هر کدوم یه جای خاصی هستن).خوب من نمیتونم picturbox رو refresh کنم و بعد بگم حالا 1996 تای بقیه رو از اول بکش . میخام ببینم روشی متدی چیزی نیست که بگم اون خطها نباشه و عکس زیرش همونجوری نشون داده بشه
مهم نیست ذخیره شدنش یا نشدنش فقط یه جوری بگم اون 3 یا 4 تا خط نباشه انگار که از اول هم نبودهینی می خوای خط ذخیره شده باشه اما نشون داده نشه؟
اگه بخوای بعد از پاک شدن چند تا از خطوط بقیه از اول کشیده بشوند باید مختصات تمام خطوط رو توی یه آرایه ی دو بعدی ذخیره کنی و یک آرایه از نوع bool برای وجود داشتن یا نداشتن خطوط ایجاد کنی و بر اساس مقادیر true یا false آن به رسم شدن خطوط مجوز بدی .
هم راهکاری که دوسته بالای گفتن هستش!
هم میتونی خط هاتو بریزی تو arraylist برا نمایش از تو اون فراخوانیشون کنی!
هرکدوم رو هم که خواستی remove کنی!
یه روش ساده و غیر علمی هم هست که روی اون خط هایی که می خوای پاک بشه با رنگ pictureBox دوباره از روشون از همون مختصات خط بکشی
اصلا روش اجرایی نیست چون اولا توی پیکچر باکس عکس هست نه یه رنگ یکدست و چجوری می شه خطی کشید که از چند رنگ ساخته شده باشه که البته می شه با پیکسل گذاری این مشکل رو حل کرد اما مشکل دوم یعنی رد شدن خطوط از روی یکدیگر رو به هیچ وجه نمی شه حل کرد چون اگر پیکسل گذاری کنیم پیکسل ها روی نقاط خطوط متقاطع گذاشته می شوند و باعث قطع شدن آن ها می شوند .
ممنون بچه ها . اینجور که معلومه راهی نیست باید picturebox رو refresh کنم و اون 2000 تایی که میخام رو از اول بکشم البته همشون تو ارایه هستن ولی من نمیخاستم اینجوری بنویسم