ورود

نسخه کامل مشاهده نسخه کامل : قرار دادن عکس شفاف بر روی عکسی دیگر در vb.net



abbass64
05-06-2013, 13:29
سلام. من دارم با ویژوال بیسیک دات نت یک برنامه می سازم که در اون می خوام یک عکس متحرکی که اطرافش شفاف هست رو روی یک عکس دیگه(این عکس ها که میگم همون picture box منظورم هست) قرار بدم به طوری که عکس زیری از جاهایی که عکس متحرک شفافه پیدا باشه.
اگه این عکس متحرکو روی خود فرم بذارم به طوری که شئ دیگه ای زیرش نباشه و برای فرم یک background انتخاب کنم تصویر فرم از جاهایی که تصویر متحرک شفافه پیداست ولی وقتی این کارو با دوتا picture box همون طور که در دو خط اول گفتم انجام میدم، این اتفاق نمیفته. اگه کسی منظورمو نفهمید بگه عکسشو بذارم.
لطفا راه حلتون رو بگید.

_H2_
22-06-2013, 00:48
سلام
اگر میخواهید اینکار را حتماً با کنترلرها انجام دهید، باید کنترلهای شما حالت والد-فرزند یا ظرف-مظروف داشته باشند.
مثلاً اگر دو پنل را در یکدیگرقرار دهید، تصویر پسضمینه پنلی که ظرف است میتواند از پنل مظروف عبور کند...

ولی اصولاً این کار از این طریق فقط برای طراحی ظاهر برنامه کاربرد دارد، اگر بخواهید انیمیشن و حرکت و... به آن دهید، با مشکل سوسوزدن/چشمک مواجه خواهید شد و باید روش ترسیم مستقیم با توابع +GDI استفاده کنید که راه حل بسیارکامل و دقیقی خواهد بود.

درصورت تمایل، در خصوص کارتان بیشتر توضیح دهید، تا بتوان کمک دقیقتری کرد.
موفق باشید

abbass64
29-06-2013, 00:03
من هم می خوام دو تا عکسام حرکت بکنه و از چشمک زدن بدم میاد چون قبلا باهاش مواجه شدم. خواهشا همون توابع GDI+ رو توضیح بدید یا به جای دیگه منتقلم کنید

_H2_
12-07-2013, 21:42
سلام
میبخشید کمی کارداشتم و دیر جواب میدهم...
همانطورکه گفتم بهترین راه استفاده مستقیم از توابع +GDI است که در کلاس System.Drawing.Graphics در دسترس است.

مثال:
تمام کنترلرها و فرمهای WinForm رویداد و متدی به نام OnPaint دارند که در زمان نیاز به ترسیم تصویر فرم، اجرا میشود و شما میتوانید شکل سفارشی خود را در ان رسم کنید.

برای اجبار به ترسیم مجدد تصویرتان (مثلاً در سررسید های یک تایمر) میتوانید متد Invalidate را اجرا کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

بعنوان نمونه عملی شده میتوان به مثال زیر اشاره کرد که کامل با توابع +GDI نوشته شده:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

موفق باشید.