PDA

نسخه کامل مشاهده نسخه کامل : سوال در مورد نحوه نمایش تصاویر gif با بخشهای شفاف در فرم ها و پیاده سازی منو در فرم



shadmehrshadow1
15-03-2010, 15:55
سلام
1- من توی وی بی 2008 وقطی یه عکسی رو که پس زمینه نداره مثل عکس های gif , png که مثلا عکس یه پا هست و دور پا چیزی وجود نداره . رو روی یه عکس می ذارم اون قسمتی که پس زمینه نداره رو نشون می ده و یک رنگ بهش اختصاص میده درحالی که توی وی بی 6 این طور نبود حالا باید چی گار کنم؟
2- چه جوری مشه منو درست کرد ؟
و اینکه یه فایل pdf آموزش vb 2008 رو که به شکل ساده توضیح داده شده باشه رو بذارید.
البته اگه یه کم توضیح در مورد اینکه freamwork.net چه کاری میکنه و فایده اش چیه رو بذارید ممنون میشم.
ممنون

BestProgrammer
15-03-2010, 17:37
در مورد سوال 1:
تنها راهی که می تونی این کار رو انجام بدین اینه که یه عکس توی BackGround Image فرمتون قرار بدین تا بتونین کنترل ها رو بگراندشون رو به صورت Transparent قرار بدین.
یه کلک رشتی هم هست که برای بعضی موارد به درد می خوره اونم اینه که عکس اولی رو توی BackGround Image عکس دومی قرار بدین، اینطوری عکس قبلی هم نشون داده میشه، البته برای همه کارها این روش خوب نیست

BestProgrammer
15-03-2010, 17:42
در مورد سوال 1:
توی دات نت تنها راهی که میشه دوتا کنترل رو هم قرار داد که کنترل اول هم دیده شه، اینه که توی BackGround Image فرمتون یه عکسی قرار داده باشین.
یه کلک رشتی هم هست که برای بعضی موارد به درد می خوره: عکس اولی رو توی BackGround Image عکس دومی قرار بدین، اینطوری هم میشه عکس اول رو دید هم عکس دوم، بازم تاکید می کنم برای بعضی موارد

shadmehrshadow1
16-03-2010, 12:15
از راهنمایی تون ممنون ولی این کار منو راه نمی اندازه . شاید بخوام جای اون عکس رو توی اجرای برنامه تغییر بدم . اونوقت این روش دیگه بدرد نمی خوره . یه راه دیگه بگید

BestProgrammer
17-03-2010, 12:08
خوب می تونید به جای اینکه بگید Image کنترل رو عوض کن، میگید BackGround Image رو عوض کن

_H2_
18-03-2010, 13:08
سلام
1)
کافی است از کنترلر PictureBox استفاده کنید و رنگ پسضمینه (BackColor) را به Transparent تنظیم کنید.
با این شرایط میتوان تصاویر ظرف (Container) زیر را فقط نمایش داد و از کنترلر فرزند رد کرد.
بیشتر توضیح دهید چه حالت نمایشی نیاز دارید تا بتوان بهتر راهنمایی کرد.

2)
برای منوی بالا برنامه از کامپونتی مثل MenuStrip
و برای منوهای راست کلیک یا منویی که کلاً در نوار بالای فرم نباشد و تحت کنترلر باشد از کامپونت ContextMenuStrip استفاده کنید.

=====

لیست تاپیک های مهم و سوالات متداول انجمن Framework ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
تاپیکهای آموزشی و برخی موارد pdf در تاپیک فوق مطرح شده و همچین موارد زیر...
فریم ورک چیست؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

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

=====

(عنوان ویرایش شد)
لطفاً عناوین گویا تر و واضح تری که سوال و مطلب و هدف تاپیک را برساند انتخاب کنید. :11:
ممنون و موفق باشید.

shadmehrshadow1
18-03-2010, 15:04
ببینید من یه عکس روی فرم قراردادم . تقریبا در قسمت بالایی فرم . و حالا می خوام یه عکس کوچیک دیگه روی این عکس قرار بدم که این عکس کوچک یک عکس gif هست و قسمت های از اون شفاف هستش یا اصلا هیچی توش نیست ولی وقتی عکس روی روی تصویر قبلی می ذارم حالت شفاف نداره و اون قسمت هایی رو که هیچی توش نیست رو یک رنگی براش تغییر میده حالت transparent هم رنگ پس زمینه فرم رو روی همون قسمتی که گفتم نباید چیزی باشه می اندازه . حالا باید چی کار کنم.

BestProgrammer
18-03-2010, 18:41
یه راه دیگه هست
شاید جواب بده می تونید یه عکس 1 در 1 توی فتوشاپ درست کنید با بکگراند Transpaernt.
بعد اون عکس رو توی بکگراند ایمیج فرمتون قرار بدین شاید اینطوری مشکلتون حل بشه

با روشی که _H2_ گفتن درست است اما توی دات نت کار نمی کنه

_H2_
18-03-2010, 20:16
سلام
مگر منظورتان چیزی شبیه این نیست؟
mediafire.com/?gmthyyolnrz
(این همان است که توضیحش در پست قبلی ام دادم)

shadmehrshadow1
18-03-2010, 22:08
یه راه دیگه هست
شاید جواب بده می تونید یه عکس 1 در 1 توی فتوشاپ درست کنید با بکگراند Transpaernt.
بعد اون عکس رو توی بکگراند ایمیج فرمتون قرار بدین شاید اینطوری مشکلتون حل بشه

با روشی که _H2_ گفتن درست است اما توی دات نت کار نمی کنه

البته این روش درسته ولی عکس رو که من در زیر عکس اولی گذاشتم رو به حالت strech در آوردم و اگه اونو روی پس زمینه ی عکس رویی بذارم بد جوری میشه . و اینکه اگه بخوام در طول اجرا جای اون عکس رویی رو در روی فرم تغییر بدم یا یه عکس دیگه ای توش بذارم دیگه این راه فایده ای نداره .


سلام
مگر منظورتان چیزی شبیه این نیست؟
mediafire.com/?gmthyyolnrz
(این همان است که توضیحش در پست قبلی ام دادم)

فایل شما هیچ فرمی نداره که لود بشه فکر کنم بد آپلود کردید. در ضمن سوال من خیلی واضح هستش.


یهنی هیچ راهی وجود نداره ؟؟؟؟؟؟؟:41::13:

از لینک هایی که معرفی کردید ممنون . ولی اینا vb 2005 هستش .vb 2008 ندارید. من تازه از vb6 جدا شدم و زیاد vb2008 رو بلد نیستم و بعضی از کد ها رو که تو سایتتون از vb 2005 بود رو بلد نبودم چه جوری باید استفاده کننم .و بعضی ها هم که لینک دانلودش مشکل داشت ولی با این حال خوب بود ممنون

_H2_
18-03-2010, 23:26
سلام

فایل شما هیچ فرمی نداره که لود بشه فکر کنم بد آپلود کردید
فایل zip است!!!
مشکلی هم ندارد، مجدد سعی کنید دانلود کنید. یک نمونه پروژه C#2008 است.
(#C بودنش مهم نیست چون هیچ کدی ندارد و فقط کنترلر و عکس است!)

اگر نتوانستید دانلود کنید، بحث دیگری است میتوانم در جای دیگری آپلود کنم.


سوال من خیلی واضح هستش. یهنی هیچ راهی وجود نداره ؟؟؟؟؟؟؟
خوب جواب پست شش من هم خیلی واضح هست! :31:
اصلاً انجام دادید؟ چه مشکلی پیش آمد؟

shadmehrshadow1
23-03-2010, 18:41
فايل zip است!!!
مشکلي هم ندارد، مجدد سعي کنيد دانلود کنيد. يک نمونه پروژه C#2008 است.
(#C بودنش مهم نيست چون هيچ کدي ندارد و فقط کنترلر و عکس است!)
اگر نتوانستيد دانلود کنيد، بحث ديگري است ميتوانم در جاي ديگري آپلود کنم.

من فایل رو دانلود کردم . اما من سوالم توی vb 2008 بود . البته می دونم فایل zip چی هستش و لازم نبود که شما بگید : فايل zip است!!!
بهتره فایلی که حاوی کد های vb2008 or vb2005 باشه بذارید .

در ضمن مثل اینکه شما هم پست 7 منو نخوندید گفتم توش مشکل کجاست خیلی هم واضح :27:

_H2_
23-03-2010, 18:54
سلام

بهتره فایلی که حاوی کد های vb2008 or vb2005 باشه بذارید
آخه هیچ کدی نداره عزیزجان!!!
دقت کنید، فقط UI است! یعنی کنترلرها روی فرم گذاشته شده و خصیصه های آن تنظیم شده.
اگر دستور بدهید میتوانم VB اش کنم ولی واقعاً هیچ کدی ندارد.


البته می دونم فایل zip چی هستش و لازم نبود که شما بگید
چون شما گفتید فایل شما هیچ فرمتی ندارد، من هم فرمتش را گفتم!
تقصیر من نیست، خودتان گفتید فایل هیچ فرمتی ندارد! :31:


در ضمن مثل اینکه شما هم پست 7 منو نخوندید گفتم توش مشکل کجاست خیلی هم واضح
خوب پس شاید من بد متوجه شده باشم.
یکم زیر دیپلم تر توضیح دهید تا بهتر متوجه شوم. :31:
چون من هرچه پست های شما را میخوانم مطمئن تر میشوم که جوابش همان است که گفتم و همان است که در سمپل فوق هم وجود دارد.

شما روی همین سمپل توضیح دهید:
الآن این سمپل را دیدید؟ اجرا کردید؟
کجایش را میخواهید عوض کنید و آن چیزی نمیشود که شما خواسته اید؟

(
این سمپل هم یک تصویر در زیر دارد و یک تصویر در قالب PictureBox در روی آن دارد که از قسمتهای شفاف gif رویی تصویر زیری نمایان میشود.
)

=====

موفق باشید.

shadmehrshadow1
24-03-2010, 16:23
البته ممنون می شم که وی بی بذارید.
من گفتم که هیچ فرمی نداره نه فرمت بهتره که بهتر نگاه کنید به متن.

ببینید کاری که من میگم رو توی ویبی 2008 انجام بدید خودتون می فهمید.
یک عکس روی فرم بذارید که یک چهارم فرم رو بگیره یا مثل نوار ابزار .
حالا یک عکس کوچیک با پسوند Gif که قسمت هایی از اون شفاف هست و چیزی نداره رو روی عکس اولی قرار بدید . نه گوشه های تصویر و نه در وسط تصویر اولی .
حالا اگه حالت Transparent عکس دومی فعال کنید می بینید اون قسمت هایی که نباید چیزی نشون داده بشه و یا شفاف باشه به رنگ پس زمینه فرم در میاد .
ببینیم چه می کنید !!!!!!!!؟

_H2_
24-03-2010, 19:37
سلام
شما بدون کمترین شک و تردیدی به شرط ظرف و مظروفی(فرزند) که گفتم دقت نکرده اید:

با این شرایط میتوان تصاویر ظرف (Container) زیر را فقط نمایش داد و از کنترلر فرزند رد کرد.

تصویر زیری در شرایطی نمایش داده میشود که در کنترلری باشد که ظرف (Container) آن PictureBox باشد. مثل یک Form و UserControl و Panel و TableLayoutPanel و GroupBox و... و... (کلیه کنترلرهای بخش Containers نوار بازار)

شما یک PictureBox در زیر و یک PictureBox در رو قرار میدهدی و میخواهید که ...
خوب اینکه اصلاً شرط Container را ندارد!!!!
بیکار که نبودم شرط Container را گفتم: :31:

با این شرایط میتوان تصاویر ظرف (Container) زیر را فقط نمایش داد و از کنترلر فرزند رد کرد.

=====

این پروژه VB همان مثال قبلی بدون یک خط کدنویسی (کنترلرها روی فرم قرار داده شده و خصیصه ها تنظیم شده)
mediafire.com/?r1knhjmdtw1


اگر هم به مثال قبلی و هم به مثال جدید دقت کنید و در VS بازشان کنید متوجه میشود که دقیقاً مطالق گفته های شما است.
اگر چنین نیست و مثال قبلی یا این مثال ان چیزی نیست که شما میخواهید لطفاً روی همین مثال توضیح دهید کجایش باید عوض شود و کجایش مطابق خواسته شما نیست.

=====

لطفاً مثال را با دقت بیشتری بررسی کنید.
موفق باشید.

shadmehrshadow1
25-03-2010, 10:58
ممنون کد خوبی بود و شما بجای استفاده از کنترل Picture از Panel استفاده کردید.
یعنی نمیشه همین کار رو بجای استفاده از Panel با Picturebox انجام داد.چون همه جا نمیشه از Panel استفاده کرد

_H2_
26-03-2010, 17:27
سلام

چون همه جا نمیشه از Panel استفاده کرد
مثلاً ؟


یعنی نمیشه همین کار رو بجای استفاده از Panel با Picturebox انجام داد
اولاً چه فرقی دارد؟
دوماً مسله مهم Container است نه PictureBox یا Panel و GroupBox و... و...
ظرف و مظروف!

ظرف کنترلری است که والد کنترلرهای دیگر باشد.
اگر ظرف نامرئی شود همه کنترلرهای فرزند رویش هم نامرئی میشود.
اگر ظرف حرکت کند همه کنترلرهای روی آن هم از دید کاربر تغییر میکند
و...

کنترلر ظرف میتواند PictureBox هم باشد ...
مثلاً با کدی مثل این میتوان PictureBox2 را ظرف PictureBox1 کرد: (و نتیجتاً PictureBox2 مانند Panel در مثال قبلی عمل میکند)

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

موفق باشید.