ذخیره تصویر از Clipboard در فایل به کمک سی شارپ
همان طوری که می دانید Clipboard مجموعه ای از توابع و پیام هاست که به برنامه ها اجازه نقل و انتقال داده را می دهد، چون همه برنامه ها به Clipboard دسترسی دارند انتقال اطلاعات بین چند برنامه یا یک برنامه خاص به سادگی صورت می گیرد.
این یادداشت توضیح می دهد که داده های Clipboard را چگونه به کمک سی شارپ مدیریت و در فایل ذخیره کنیم.
در این نوشته من از کلاس System.Windows.Forms.Clipboard استفاده خواهم کرد.
این کلاس متدهایی برای قرار دادن و بازیابی اطلاعات موجود در Clipboard برای ما فراهم می کند.
تمام متدهای فراهم شده توسط این کلاس استاتیک هستند به این معنی که برای استفاده از آن ها نیازی ندارید که یک شی از این کلاس بسازید.
و اما کد برنامه
کد:
if (Clipboard.GetDataObject() != null)
{
IDataObject data = Clipboard.GetDataObject();
if (data.GetDataPresent(DataFormats.Bitmap))
{
Image image = (Image)data.GetData(DataFormats.Bitmap,true);
image.Save(image.bmp,System.Drawing.Imaging.ImageFormat.Bmp);
image.Save(image.jpg,System.Drawing.Imaging.ImageFormat.Jpeg);
image.Save(image.gif,System.Drawing.Imaging.ImageFormat.Gif);
}
else
{
MessageBox.Show(The Data In Clipboard is not as image format);
}
}
else
{
MessageBox.Show(The Clipboard was empty);
}
حالا توضیح برنامه :
- متد GetDataObject() اطلاعاتی که درون Clipboard هست را نشان می دهد بنابراین می توانیم از آن برای گرفتن داده های درون Clipboard یا چک کردن وجود داده در آن استفاده کنیم.
- چون داده هایی که درون Clipboard قرار می گیرند از انواع داده ای مختلفی هستند این متد یک داده از نوع IDataObject برمی گرداند بنابراین من یک شی از نوع اینترفیس IDataObject ساختم و آن را بوسیله مقدار بازگشتی از تابع etDataObject() مقدار دهی اولیه کردم:
IDataObject data = Clipboard.GetDataObject();
- بعد از این ما می توانیم شی data را برای مدیریت اطلاعاتی که از GetDataObject() یا Clipboard می آیند استفاده کنیم.
- حالا نوع این داده که در شی data قرار گرفته است را بررسی می کنیم:
if (data.GetDataPresent(DataFormats.Bitmap))
یا آن را به یک فرمت مناسب مثل فرمت تصویری تبدیل می کنیم :
Image image = (Image)data.GetData(DataFormats.Bitmap,true);
اگر فرمت داده ما ماهیت تصویری نداشته باشد این مطلب را به کمک یک Message Box به کاربر اعلام می کنیم:
MessageBox.Show(The Data In Clipboard is not as image format);
توضیح: منبع این مطلب ، سایت C# Help بود. برای دریافت سورس این برنامه می توانید
ذخیره تصویر کاربران یاهو مسنجر
در صورتی که از کاربران یاهو مسنجر باشید، حتما با Avatar یا عکسی که به هنگام چت کردن در کنار ID افراد نمایش داده می شود، آشنا هستید. شما با این ابزار که از یاهو مسنجر 7 افزوده شده است، هنگام چت کردن با طرف مقابل می توانید عکسی با اندازه نسبتا کوچک را در صفحه چت خود قرار دهید. اما به طور طبیعی این عکس را نمی توان با یاهو مسنجر روی هارد ذخیره کرد و تنها می توان آن را مشاهده کرد. روشی را به شما معرفی می کنیم که در عین سادگی می توانید تصویر هر ID را که بخواهید، دریافت و روی هارد ذخیره کنید.