3 ضمیمه
ایجاد tranceparent برای 2 ، pictureBox
سلام خدمت دوستان برنامه نویس
من در داخل برنامم 3 تا pictueBox دارم که دوتار اونها روی اولی قرار میگیرن دو pictureBox که بر روی اولی هستند به شکل tranceparent هستند من با قرار دادن backColor اونها به transeparent و این دو خط کد زیر
pictureBox2.Parent = pictureBox1;
pictureBox3.Parent = pictureBox1;
تونستم اونهارو transeparent کنم اما مشکل اینجاست که بخشی از این دو تا عکس روی هم میوفته و به جای این که picturebox2 اون تیکه از PictureBox3 رو که زیرشه نشون بده pictureBox1 رو نشون میده چی کار کنم که این مشکل حل بشه ؟؟؟
چند تا مورد رو بگم
اول این که اگه خاصیت parent رو ست نکنم اصلا pictureBox ها هیچ کدوم transeparent نمیشن
دوم این که عکس ها همه gif هستند و transeparent
و اینم بگم 3 تا فایل ضمیمه کردم یکی خود پروژه هستش عکس Untitled.jpg دومین عکس نتیجه ای هست که برنامه میده و عکس 2.jpg عکس اول اون نتیجه ای هست که من میخوام ایجاد بشه
ممنون
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
من برای برنامه های گرافیکی معمولاً از WPF استفاده می کنم چون یه همچین مشکلاتی رو نداره به شما هم توصیه می کنم.
2ndesigner
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
ممنون از توجه تون اما این نکته ای که من گفتم یه بخش کوچیک از یه پروژه هست که تمامش در winApp به این صورت نوشته شده
آیا اکان ایجاد این بخش با WPF و انتقالش و کار با اون در بدنه اصلی برنامه هست؟؟؟ و اگه بله میشه یه مثال بزنید و توضیح بدید؟؟؟
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
راستش به نظر من صحنه ی واقعا عجیبی بود و به نظر می رسه که اشتباه از خود دات نت باشه.
به هر حال من کد شما رو اصلاح کردم و کار کرد.
//pictureBox2.Parent = pictureBox1;
//pictureBox3.Parent = pictureBox1;
pictureBox2.Visible = false;
pictureBox3.Visible = false;
Bitmap img = new Bitmap(new Bitmap(pictureBox1.Image));
using (Graphics g = Graphics.FromImage(img))
{
g.DrawImage(pictureBox2.Image, pictureBox2.Location);
g.DrawImage(pictureBox3.Image, pictureBox3.Location);
}
pictureBox1.Image = img;
pictureBox1.Refresh();
1 ضمیمه
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
دوست عزیز من کدی که شما گفتید رو جایگزین کردم اما اون نتیجه که باید رو نگرفتم حاصل اینجوری بود که مربع و مثلث کلا خذف شدن
من برنامرو اینجا میزارم ممنون میشم بگید ایراد کارم چیه
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
من با اضافه کردن خط زیر به خطایی که شما گذاشتید نتیجه گرفتم اما لطف کن این کد رو یه توضیحی بده
pictureBox1.Image = img;
منظورم از توضیح توضیح این کیس هستش
using (Graphics g = Graphics.FromImage(img))
{
{
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
نقل قول:
نوشته شده توسط
bade saba
من با اضافه کردن خط زیر به خطایی که شما گذاشتید نتیجه گرفتم
pictureBox1.Image = img;
اگر منظور شما افزودن این خط هست:
pictureBox1.Image = img;
باید بگم که این خط در بین کدهای خود من هم که بود.(خط یکی به آخر مونده)
نقل قول:
منظورم از توضیح توضیح این کیس هستش
توضیح کدوم؟ using یا کلاس Graphics ؟
یک شی گرافیکی ایجاد می کنم. عکس اون در ابتدا برابر عکس pictureBox1 هست. بعد عکس pictureBox2 و pictureBox3 را هم روی اون نقاشی می کنیم. بعد این عکس بدست آمده را میریزیمش دوباره توی خود عکس pictureBox1.
کار بلاک using در اینجا اینه که بعد اینکه کارش با g تمام شد، اون را نابود کنه.
جاییش باز هم مبهم بود بگو.
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
بله شما درست میگید من اون خط کد رو ندیده بودم
میشه راجب به using یه مقداری بیشتر توضیح بدید گرچه مربوط به عنوان این تاپیک که ایجاد کردم نمیشه
نقل قول: ایجاد tranceparent برای 2 ، pictureBox
نقل قول:
نوشته شده توسط
bade saba
بله شما درست میگید من اون خط کد رو ندیده بودم
میشه راجب به using یه مقداری بیشتر توضیح بدید گرچه مربوط به عنوان این تاپیک که ایجاد کردم نمیشه
در مورد Dispose در #C جستجو کنید.
http://www.codeproject.com/KB/cs/tin...statement.aspx
این یک نمونه لینک که بعدش می تونه کمک کنه. و میاد ارتباط using را با Dispose توضیح میده.
https://barnamenevis.org/showth...38#post1019938