آموزش گرفتن اسکرین شات از دسکتاپ در سی شارپ (با چند خط کد)

به نام خدا

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

using System;
using System.Text;
using System.IO;
using System.Drawing;
using System.Windows.Forms;

namespace Wallpaper
{
    class Program
    {
        
        static void Main(string[] args)
        {
            Bitmap bit = new Bitmap(Screen.PrimaryScreen.WorkingArea.Width,Screen.PrimaryScreen.WorkingArea.Height);
            Graphics g = Graphics.FromImage(bit);
            g.CopyFromScreen(0,0,0,0,new Size(bit.Width,bit.Height));
            bit.Save(@"C:\Users\Edris_Ice\Desktop\edris.png", System.Drawing.Imaging.ImageFormat.Png);
            Console.ReadKey();
        }
    }
}


ابتدا فضای نام System.Drawing و System.Windows.Forms رو اگر داخل محیط کنسول اپلیکیشن هستید باید از قسمت Soulation Explorer بر روی Reference راست کلیک کرده و AddReference رو انتخاب کنید و در قسمت سرچ فضا نام های ذکر شده رو به پروژه اضافه نمایید .

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

توضیح اصطلاحات :

ُُbitmap : این کلاس که درون فضای نام System.Drawing قرار داره میاد برای ما یه تصویر با عرض و ارتفاع درست میکنه البته قالبشو .

Screen.PrimaryScreen.WorkingArea.Width : این کلاس که درون فضای نام System.Windows.Forms قرار داره میاد برای ما عرض صفحه دسکتاپمون رو میگیره و به bitmap میده

Screen.PrimaryScreen.WorkingArea.Height : این کلاس که درون فضای نام System.Windows.Forms قرار داره میاد برای ما ارتفاع صفحه دسکتاپمون رو میگیره و به bitmap میده .

Graphics : این کلاس که درون فضای نام System.Drawing قرار داره میاد برای ما روی قالب تصویری که با استفاده از bitmap ایجاد کردیم گرافیک انجام میده . یا به اصلاح کاملش میکنه .

Graphics.FromImage : این متد میاد قالبی که با bitmap ساختیم رو میگیره البته تمام متد ها به صورت پیشفرض از By Pass Value استفاده میکنن نه از By Pass Ref

CopyFromScreen : این متد میاد یه کپی از تصویری که از قالب bitmap گرفته میگیره و روش کار انجام میده (اینجا باید شما به By Pass Value پی برده باشین) خب
این متد پنج تا آرگومان گرفته که چهار تای اولی همش صفره که میاد از گوشه های قالبی که با bitmap درست شده یعنی از گوشه های بالا:گوشه راست-چپ و پایین:گوشه راست-چپ بر روی قالب گرافیک پیاده میکنه و پارامتر new size() که یه کلاس هستش میاد سایز قالب اصلیمون رو میگیره که ما بهش همون سایز قالب فرعی bitmap رو میدیم .

bit.SaveAdd : این متد میاد برای ما تصویری که درست شده رو ذخیره میکنه که دوتاپارامتر گرفته . اولی محل ذخیره عکس و دومی با چه فرمتی که ما دادیم png


این آخرین آموزش من به صورت متنی بود و بقیه آموزش ها به صورت ویدیو خواهد بود .

#اسکرین_شات_گرفتن_از_دسکتاپ #اسکرین_شات #عکس_از_دسکتاپ_با_سی_شارپ
4 نظر
davood_59
سلام آقا ادریس؛
خیلی ممنونم که اخیرا دارین آموزشهای خوبی میذارین. دست گلتون درد نکنه دوست عزیز.
فقط استاد عنوان این مقاله با متنش یکی نبود و متفاوت بودن چرا؟
ادریس شریفی
خیلی ممنون از توجه شما . ویرایش شد

احمد حاجی شمس الدینی
سلام دوست بزرگوار
در مورد آموزشتون یه سوال داشتم
وقتی از برنامه خارج میشیم آیکن هنوز نمایش داده میشود
و حتما باید با موس روی آن بروید تا بسته شود و همچنین با چند بار باز و بستن برنامه ، برای هر دفعه یک آیکن ایجاد میکند
لطفا راهنمایی بفرمائید
ممنون
احمد حاجی شمس الدینی
جوابش رو پیدا کردم
notifyIcon1.Icon = null;
notifyIcon1.Dispose();

گفتم شاید کسی بدردش بخوره
نظر شما
برای ارسال نظر باید وارد شوید.
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره بهاره می تونی امروز ارزونتر از فردا خرید کنی ....