تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 39 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت محمد (ص) : ز گهواره تا گور دانش بجوی .

آموزش مقدماتی تا پیشرفته سی شارپ بخش دویست و دهم


بنام اول برنامه نویس عالم

آموزش مقدماتی تا پیشرفته سی شارپ بخش دویست و دهم

سلام به همه کاربران وب‌سایت لندلرن

قسمت دویست و دهم


قبل از NET. برنامه نويساني كه مي خواستند با تصاوير مورد استفاده در اينترنت كار كنند و يا از آنها در برنامه هاي خـود اسـتفاده كنند .معمولاً تصاويري با پسوند هاي gif و يا jpg مجبور بودند كنترلهاي سفارشي نوشته شده به وسيله ي شركت هـاي ديگر را در برنامه ي خود به كار ببرند.

اما اكنون كار با اين نوع تصاوير به صورت دروني در NET. پشتيباني مي شود و مي توانيـد به سادگي از آنها در برنامه هاي خود استفاده كنيد.

اما جالب اينجاست كه NET. نه تنها استفاده از اين فايلها را پشتيباني مي كند، بلكه اجازه ي ذخيره ي يك تصوير در هـر يـك از اين قالب ها نيز مي دهد.

بنابراين براي مثال مي توانيد يك عكس با پسوند gif را باز كرده و سـپس آن را بـا پـسوند ديگـري مانند png و يا bmp ذخيره كنيد.

براي كار با تصاوير در NET. دو روش كلـي وجـود دارد.

  1. اول ايـن اسـت كـه از كنتـرل PictureBox در جعبه ابزار استفاده كنيد. براي كار با اين كنترل مي توانيد يـك نمونـه از آن را در فـرم برنامـه قـرار داده و سپس چه در زمان اجرا و چه در زمان طراحي آدرس يك عكس را براي آن مشخص كنيد. به اين ترتيب اين كنترل آن عكـس را در فرم برنامه نمايش مي دهد.
    البته اين روش فقط براي نمايش عكسهاي ثابت در برنامه مناسب است.
  2. روش ديگر اين است كه عكسها را در داخل كنترل هايي كه خودتان ايجاد مي كنيد نمايش دهيد.
    در ادامه ي دوره برنامـه ي MyPaint را بـه گونـه اي تغييـر خواهيم داد كه بتوانيم به جاي ترسيم روي يك فرم سفيد و خالي، روي يكي از عكسهايي كه از ديسك كامپيوتر مشخص مي كنيم، تصويري را رسم كنيم.

نمايش تصاوير :

براي نمايش يك تصوير بايد از شيئ اي از كلاس System.Drawing.Image استفاده كنيم .

در بخش امتحان كنيد بعد، برنامه را به گونه اي تغيير خواهيم داد تا بتوانيم يك عكس خاص را در پس زمينه ي فرمي كه در آن نقاشي مي كنـيم نمـايش دهيم.

امتحان كنيد: تنظيم عكس پس زمينه

  • به قسمت طراحي فرم مربوط به Form1 برويد و با استفاده از جعبه ابزار يك كنتـرل OpenFileDialog را روي فرم قرار دهيد.
  • سپس خاصيت Name اين كنتـرل را برابـر بـا dlgFileOpenBackground قـرار دهيد.
  • حال بايد كاري كنيم تا زماني كه كاربر روي گزينـه ي Open در منـوي File كليـك كـرد، پنجـره ي Open File نمايش داده شود.
  • بنابراين در منوي File موجود در فرم برنامه، روي گزينه ي Open دو بار كليـك كنيـد تا متد مربوط به رويداد Click اين كنترل ايجاد شود.
  • سپس كد زير را در اين متد وارد كنيد:
  • برنامه را اجرا كرده و روي گزينه ي Open در منوي File كليك كنيد تـا كـادر محـاوره اي Open نمـايش داده شود.
  • در اين كادر آدرس يك فايل تصوير با يكي از فرمت هاي مشخص شده را معين كنيـد.
  • مـشاهده خواهيـد كـرد كـه تصوير انتخابي شما همانند شكل زیر در برنامه نمايش داده مي شود.

چگونه كار مي كند؟

ممكن است با خود بگوييد “من كه براي نمايش تصوير كاري انجام ندادم؟ “، خوب حق با شماست.

براي اينكه بتوانيد تصويري را در برنامه نمايش دهيـد نيـازي نداريـد كـه از كـد زيـادي اسـتفاده كنيـد.

كنترلهـاي سفارشـي كـه ايجـاد مـي كنـيم همـه از كـلاس UserControl مشتق مي شوند و اين كلاس نيز خود به صورت غير مستقيم از كلاس Control مشتق مي شود .

در كلاس Control خاصيتي به نام BackgroundImage تعريف شده است كه مي تواند شيئ اي از نـوع Image را در خود نگهداري كرده و آن را به عنوان تصوير پس زمينه نمايش دهد.

بنابراين كافي است كه تصوير مـورد نظـر خـود را انتخـاب كرده و شيئ Image مربوط به آن را در اين خاصيت قرار دهيد.

بقيه ي كارهاي مربوط به ترسيم تصوير به عهده ي كلاس پايـه خواهد بود.

بعد از اينكه آدرس فايل تصوير را به وسي له ي كادر Open بدست آورديم مي توانيم با استفاده از متد استاتيك FromFile از كلاس Image آن را در يك شيئ از كلاس Image قرار دهيم.

استفاده از اين كلاس ساده تـرين روش بـراي نمـايش يـك فايل تصوير موجود در كامپيوتر است.

ممكن است حس كنيد با قرار دادن يك عكس در پس زمينه ي برنامه، سرعت برنامه كاهش پيدا مي كند.

علت اين امر در اين است كه ترسيم يك عكس در فرم كار سنگيني است و انجام آن زمان زيادي را صرف مـي كنـد.

بـراي رفـع ايـن مـشكل مـي توانيـد از عكسهاي كوچكتر براي نمايش در فرم استفاده كنيد.

با قسمت دویست و یازدهم همراه باشید.


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ