PDA

View Full Version : علامتی بر روی تصویری در PictureBox



Taha_u
چهارشنبه 19 مرداد 1384, 21:11 عصر
من یه تصویری که نسبتاً حجم بزرگی دارد رو به روشی که در MSDN اومده بود Scroll کردم
(اینو از همین اول میگم که فایل بزرگه برای اینکه راه حل Load کردن دوباره تصویر مناسب نیس)
و مشکل اینکه:
بر روی چند نقطه از تصویر علامت هایی قراره بخوره و اگه نیاز بود توسط User تغییر مکان پیدا میکنه، حالا به من بگید که این علامتها رو چه طور بگذارم تا هم با Scroll کردن تصویر اونا هم حرکت کنن و هم اینه قابلیت جابجایی داشته باشن،
هر راهنمایی ای راه گشاست!!
ممنون

PalizeSoftware
چهارشنبه 19 مرداد 1384, 21:17 عصر
اگه علامت‌های ساده‌ای هست بجای رسم به از Label استفاده کنید که علامت مثلا یک کاراکتر باشه. بصورت داینامیک هم هر تعداد Label که خواستید ایجاد کنید. اینجوری چون Label ها درون یک کنترل کانتینر قرار داره راحت می‌تونید براساس Left و Top جابجاشون کنید. دیگه مشکل رسم نشانه و علامت هم ندارید که هیچ، امکان دریافت Event هم از علامت‌ها براتون آسون میشه و ...
اگه متوجه نشدید بفرمائید تا مثال بذارم.

Taha_u
چهارشنبه 19 مرداد 1384, 21:20 عصر
اگه بگم که کاملاً متوجه شدم که ...
اگه لطف کنین یه مثالی بذارین که بهتره!!

Taha_u
چهارشنبه 19 مرداد 1384, 21:22 عصر
علامت هم همچین ساده نیست میخوام یه ico یا Gif باشه در ضمن باید روی PictureBox هم بتونه قرار بگیره!!

PalizeSoftware
چهارشنبه 19 مرداد 1384, 22:03 عصر
اینم مثال مربوطه
با کمی کار بهینه می‌شه.
هر جای تصویر که کلیک کنید، یه علامت قرار می‌ده که راحت با اسکرول جابجا می‌شه.
فقط چند نکته:
جایی رو که کاربر کلیک می‌کنه درون خصوصیت Tag نگه‌داری می‌کنه، هم X و هم Y که با کاما از هم جدا شده‌اند که بعد بشه تفکیک کرد.
اگه سوالی بود بفرمائید.
ببخشید دیگه سریع سرهم کردم.

http://asefsoft.com/qsimages/88.gif

ali_reza_nazari
پنج شنبه 20 مرداد 1384, 04:08 صبح
دوست عزیز میشه کمی راجع به لیبل های دینامیک و نحوه تنظیم مختصات و یا سایر مشخصات دیگه اون کمی توضیح بدهید؟
ممنون می شوم

PalizeSoftware
پنج شنبه 20 مرداد 1384, 05:14 صبح
حتما
ببینید، روی Picture1 ما یه تصویر داریم از نوع Image و با نام Symbol(0). این رو بصورت آرایه‌ای گرفتیم تا بتونیم اندیس‌های 1و2و3و... را برای تصویر‌های بعدی ایجاد کنیم. با هر کلیک بر روی Picture1 مختصات X,Y‌ را با توجه به موقعیتی که HScroll و VScroll داره جایی باید ذخیره بشه که بتونیم در واقع مکان دقیق نشانه‌ها رو داشته باشیم. در اینجا می‌شه از آرایه‌ها هم کمک گرفت. آرایه‌ای با دو عضو. اما خب من در این مثال از خصوصیت Tag که بلااستفاده بود استفاده کردم و دو عضو XوY‌رو درون اون ریختم که بصورت رشته با علامت تفکیک کاماست.حال با جابجا کردن دو نوار افقی و عمودی مختصات نسبی نشانه‌ها رو بدست میاریم و تنظیم می‌کنیم.
اگه کافی نبود بفرمائید کجا سوال دارید.