PDA

View Full Version : سوال: چه طور می شه یه تصویر رو تبدیل به منو کرد ؟



mojdeh6583
یک شنبه 16 خرداد 1389, 12:47 عصر
با سلام
هرکی جواب این سوال رو می دونه خواهش می کنم سریع تر جواب بده:
سوال اینه:
یه تصویر داریم که از یه سری قسمت ها تشکیل شده
می خوایم روی هر قسمت این تصویر که کلیک کرد به یکی از فرم های پروژه مون بره.
می خوام بدونم از چه کنترلی باید استفاده کنم و چطوری
<از طرف یک مبتدی پرسیده شد.ممنون>

behnam25214
یک شنبه 16 خرداد 1389, 14:23 عصر
سلام

اگه یک عکس هست میتونی روی قسمت های خاص که میخوایی عملیات انجام بدی یک لیبل یا picture box بزاری و برای کلیکش کد بنویسی و کارهای مربوط به اون رو انجام بدی.

mojdeh6583
شنبه 22 خرداد 1389, 12:56 عصر
سلام

اگه یک عکس هست میتونی روی قسمت های خاص که میخوایی عملیات انجام بدی یک لیبل یا picture box بزاری و برای کلیکش کد بنویسی و کارهای مربوط به اون رو انجام بدی.

نه خوب تصویرش یه جور خاصه اصلن نمیشه لیبل گذاشت
باید اون قسمت از تصویر جدا بشه و همه اش لینک بشه
سعی خودمو با لینک لیبل یا دکمه انجام دادم ولی نشده
یکی گفت از gdi باید استفاده کنم ولی اصلا با هاش آشنایی ندارم
راه دیگه ای نبود؟

مصطفی ساتکی
شنبه 22 خرداد 1389, 16:16 عصر
اول شما بایستی در ابتدا بفرماید محتوای تصویرتون چیه.

یه تصویر داریم که از یه سری قسمت ها تشکیل شده
دوم از یک سری قسمت به جه صورتی مشخص شده یعنی با چه متدی این نواحی رو مشخص کردین.

seven7777777
شنبه 22 خرداد 1389, 18:04 عصر
لطفا تصویرتون رو بزارین . شاید اصلا نیاز به استفاده از خود تصویر به صورت کامل نباشه و راه دیگه ای هم باشه . در ضمن فکر کنم استفاده از WPF هم کار سازه ...

mojdeh6583
شنبه 22 خرداد 1389, 21:42 عصر
اول شما بایستی در ابتدا بفرماید محتوای تصویرتون چیه.

دوم از یک سری قسمت به جه صورتی مشخص شده یعنی با چه متدی این نواحی رو مشخص کردین.

تصویر رو نمی تونم بفرستم ولی تصور کنید که یه ذوزنقه هست که توی محیطش که کلیک می کنی میره فرم 2 مثلا.

این درست مثل کنترل ImageMap توی ASP میمونه.کارش البته.

حالا من یه همچین کنترلی رو توی سایت Codeproject پیدا کردم ولی اصلا نمیفهمم چطوری باهاش کار کنم.

اگه میشه درباره استفاده از این کنترل راهنماییم کنید.

خواهش میکنم هرچه سرعتر به دادم برسید.
http://www.codeproject.com/KB/miscctrl/imagemapcontrol.aspx (http://www.codeproject.com/KB/miscctrl/imagemapcontrol.aspx)

mojdeh6583
یک شنبه 23 خرداد 1389, 10:40 صبح
ینی هیچکی بلد نبود با این کار کنه؟حتی مدیرای این سایت؟؟؟؟؟؟؟
دوستان واقعا کارم به همین بنده یه help برسونید

sharifi_reza
یک شنبه 23 خرداد 1389, 12:15 عصر
سلام.ميتوني عكستوبه عكسهاي كوچكتر برش بدي بعد هركدوموروي يك باتوم بذار.باتومارم به هم بچبون انگار يكي هستن.مثل پازل!!!

mojdeh6583
یک شنبه 23 خرداد 1389, 13:29 عصر
سلام.ميتوني عكستوبه عكسهاي كوچكتر برش بدي بعد هركدوموروي يك باتوم بذار.باتومارم به هم بچبون انگار يكي هستن.مثل پازل!!!
نه نمیشه
من نمی خوام توی تمام عکسم کلیک میکنه بره یه جا
میخوام تو یه قسمت خاص که کلیک کرد یه جای خاص بره
کمک درست و حسابی می خوام این راهنماییا چیه که میکنید؟

oldboy
یک شنبه 23 خرداد 1389, 13:45 عصر
بهتره که عکس ها رو ببُری و کنار هم بچینی. اگه هم قراره جای تصویر تو برنامه عوض شه، برای راحتی می تونی این تصویرا رو تو یه Panel قرار بدی.

مصطفی ساتکی
یک شنبه 23 خرداد 1389, 16:01 عصر
خواهش میکنم هرچه سرعتر به دادم برسید.
آخه شمایی که می فرماید هر چه سریعتر جواب بدید برای سوال خودتون هم ارزش قائل نمی شید.شمای اگر تصویر رو کسی نگفت اینجا قرار بدید یه شمایی از کارو میشه اینجا قرار داد. به هر حال چیزی که من فهمیدم از گفته های شما یه تصویر جانبی به اندازه تصویر مبداً ایجاد کنید و هر ناحیه رو که از تصویر اصلی مشخص می کنید با یک رنگ مشخص در تصویر جانبی رسم کرده و کل ناحیه داخل آن را با همین رنگ پر کنید سپس یه شاخص برای این رنگ ها در نظر بگیرید هر وقت کاربر به هر نقطه از تصویر مبداً اشاره کرد شما رنگ معادل همون مختصات رو در تصویر جانبی رو بدست میارد و در شاخص جستجو می کنید و شماره اون ناحیه یا به عبارتی خود ناحیه رو بدست میارید.

mohsenhker
یک شنبه 23 خرداد 1389, 16:32 عصر
سلام
دوست من شما قسمتی از عکس رو که میخواهید کاربر با کلیک روش عملیاتی رو انجام بده با فتوشاپ یا برنامه ای دیگه دربیار
البته یه چیز رو بگم
قسمتی از عکس رو که جدا کردید جاشو خالی بزارید و ه دو تصویر رو با پسوند png ذخیره کنید
حالا توی برنامه به این صورت عمل کنید که اول توی یه کادر تصویر (picture Box) ، تصویر برش داده شده رو قرار بدِد بعدشم تصویر بعدی رو قرار بده
(دلیل این که عکس برش داده شده رو اول میزاری اینه که بره زیر تصویر)
حالا تصویر ها رو جمع و جور کن و واسه هر رویدادی از تصویر اولی خواستی کد مربوطه رو بنویس
موفق باشید

nofilter
یک شنبه 23 خرداد 1389, 16:58 عصر
سلام

جواب پست اول :
برای اینکار بهترین راه استفاده از فوتوشاپ هست و برای برنامه نویسیش هم باید سی اس اس بلد باشی....

mojdeh6583
یک شنبه 23 خرداد 1389, 19:07 عصر
سلام

جواب پست اول :
برای اینکار بهترین راه استفاده از فوتوشاپ هست و برای برنامه نویسیش هم باید سی اس اس بلد باشی....

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

مصطفی ساتکی
یک شنبه 23 خرداد 1389, 23:03 عصر
خوب چرا اینهمه مهندس توضیح دادید یکی اون لینک رو نگاه نکرد ببینه من چی میگم
شما دیگه داره حوصله سر می بری پست 11 جوابتونه .شما یه زحمتی به خودتون بدید جواب دیگران بخونید که اینقدر غور نزنید .
در ضمن برای انجام اینکار علاوه بر روش گفته شده از api مربوط به Region هم می تونید استفاده کنید.

حجتی نیا
یک شنبه 23 خرداد 1389, 23:38 عصر
آخه شمایی که می فرماید هر چه سریعتر جواب بدید برای سوال خودتون هم ارزش قائل نمی شید.شمای اگر تصویر رو کسی نگفت اینجا قرار بدید یه شمایی از کارو میشه اینجا قرار داد. به هر حال چیزی که من فهمیدم از گفته های شما یه تصویر جانبی به اندازه تصویر مبداً ایجاد کنید و هر ناحیه رو که از تصویر اصلی مشخص می کنید با یک رنگ مشخص در تصویر جانبی رسم کرده و کل ناحیه داخل آن را با همین رنگ پر کنید سپس یه شاخص برای این رنگ ها در نظر بگیرید هر وقت کاربر به هر نقطه از تصویر مبداً اشاره کرد شما رنگ معادل همون مختصات رو در تصویر جانبی رو بدست میارد و در شاخص جستجو می کنید و شماره اون ناحیه یا به عبارتی خود ناحیه رو بدست میارید.
چطوری با حرکت موس رنگ اون نقطه رو بدست بیارم؟

mojdeh6583
سه شنبه 01 تیر 1389, 19:26 عصر
خوب من هرچی گشتم هیچ راه حلی نداره
راه حل هایی که من امتحان کردم و به نتیجه ی مطلوب نرسید رو میگم تا کسی مثل من دیگه این راه ها رو نره:
اول:گشتم و یکی بهم پیشنهاد Image map برای فرم های ویندوزی رو داد.(آدرس آموزشش رو گذاشتم تو همین تاپیک)اولا که نفهمیدم چیکار کرده بعدم دیدم به درد نمی خوره چون مثلا اگه من می خواستم یه شکل ذوزنقه ای با توابع گرافیکی بسازم 4تا نقطه میگیره که اگه فرم من ماگزیمایز بشه جای اون نقاط عوض میشه.پس این بدرد نخورد.

دوم:یه کنترل پیدا کردم اسمش shape control بود که چند تا شکل داشت که میشد transparent کرد جوری که کاربر نفهمه که اینجا یه کنترله بعد برای رویداد کلیکیش کد بنویسی
خوب بود به هزار تا بدبختی و با 10 20 تا کنترل اضافی میشد درستش کرد فقط مشکل اینجا بود که موقع لود صفحه به صورت کاملا ضایع اول تمام اون کنترل shape هارو نشون میداد بعد که صفحه لود میشد مخفیشون می کرد و سرعت هم نجومی پایین می اومد.

سوم:به ذهنم رسید بیام با توابع گرافیکی یه کاری کنم که روی تصویر بک گراند بگرده و هرجا مثلا نارنجی بود (یه رنگ با شماره خاص)(منظورم محتوای رنگی همون ذوزنقه هه هست) کرسر موس رو به حالت hand در بیاره و یه کار خاص رو انجام بده. اما اینم نمیشه چون تمام تصویرم به هم پیوسته بود مثلا یه ذوزنقه نارنجی چسبیده به یه ذوزنقه سبز چسبیده به یه ذوزنقه آبی.
و این باعث میشد در تمام تصویرم کرسر یه شکلی باشه و کاربر تصور کنه که این تصویر کلا به یک جا هدایت میشه

کلا بیخیال این منو کردن تصویرم شدم
حالا یه چند تا دکمه گذاشتم کنار ذوزنقه های عکسم که هر وقت صفحه اول برنامه ام رو می بینم کلی غصه ام میگیره
میشد قشنگتر از این حرفا بشه
نشد.