exifdata در سی شارپ

سلام..شاید خیلی افراد با exifdata اشنایی داشته باشند بخصوص افرادی که علاقه مند به عکاسی هستند.خب حالا exif چی هست؟
تمام عکس هایی که ما با گوشیمان میگیریم و به طور کلی هر عکسی شامل یک سری برچسب ها و داده ها هستند که اطلاعاتی راجب عکس ها به ما می دهند که این اطلاعات میتوانند زمان گرفته شدن عکس و موقعیت جغرافیایی عکس و مدل گوشی و خیلی چیز های دیگر باشد مانند تصویر زیر:

خب شما میتوانید از برنامه های مختلفی برای دسترسی به این اطلاعات استفاده کنید مانند برنامه اکسیف منیجر ولی بحث ما در این پست exifdata در سی شارپ است برای به دست اوردن این اطلاعات.
خب ابتدا شما باید پکیج ExifLib رو نصب کنید برای اینکار میتوانید در package manager console عبارت زیر را بنویسید :
Install-Package ExifLib
بعد از نصب کامل حالا فضای نامی زیر را مینویسیم:

خب حالا به بخش اصلی کد هایمان میرسیم اول یک ابجکت به صورت زیر از کلاس exifReadre درست میکنیم:

خب همانطور که میدونید باید ادرس عکس مورد نظر خود را بدهید و توجه داشته باشید که حتما باید jpg باشد(مسلما میدونید که میتوانید این عکس را خودتان دریافت کنید و در مثال ها ساده ترین شکل ذکر شده است).حالا فرض کنید میخواهیم مدل گوشی که عکس باهاش گرفته شده است را بفهمیم خب به این سادگی این کار را انجام می دهیم:

در اینجا از دستور getTagValue استفاده کرده ایم و همچنین به کمک ExifTags مدل گوشی را بدست اوردیم و در متغیری ذخیره کردیم و میتوانید به شکل های مختلف ان را نمایش دهید.
دوستان در اینجا بیشتر از 100 تا دستور که شامل همان چیز هایی که اول پست گفته شد وجود دارد برای گرفتن اطلاعات مختلف از عکس که از حوصله اموزش خارج است و میتوانید مانند دستور بالا به دیگر اطلاعات دست پیدا کنید مثل کد زیر:


چند نکته که شاید لازم باشه که بدونید:
در صورت برگرداند مقدار null یا خالی نشان دهنده عدم وجود ان داده خواسته شده است.
عکس حتما باید از قالب های زیر باشد:
Exif, IPTC, XMP, JFIF, GeoTIFF, ICC-Profile, Photoshop IRB, FlashPix, AFCP، jpg، tiff, gif, ID3
میتوانید به راحتی این برچسب هارا از عکس هایتان حذف کنید.
امیدوارم از این اموزش لذت برده باشید و مفید بوده باشد.
پایان.
 

مطالعه بیشتر