درج متادیتا در عکس با سی شارپ
درج و اضافه کردن Metadata در عکس با C#
برای اضافه کردن متادیتا به تصاویر و خواندن آنها در C# میتوان از کتابخانههایی مثل System.Drawing و System.Drawing.Imaging استفاده کرد. در اینجا یک مثال کامل برای افزودن متادیتا و سپس خواندن آن آورده شده است.
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Text;
namespace ImageMetadata
{
class Program
{
static void Main(string[] args)
{
string imagePath = "example.jpg";
string newPath = "example_with_metadata.jpg";
Image image = Image.FromFile(imagePath);
PropertyItem[] propItems = image.PropertyItems;
PropertyItem propItem = (PropertyItem)Activator.CreateInstance(typeof(PropertyItem));
propItem.Id = 0x010E;
propItem.Type = 2;
propItem.Value = Encoding.ASCII.GetBytes("This is a sample image description.");
propItem.Len = propItem.Value.Length;
image.SetPropertyItem(propItem);
image.Save(newPath, ImageFormat.Jpeg);
Image newImage = Image.FromFile(newPath);
foreach (PropertyItem item in newImage.PropertyItems)
{
if (item.Id == 0x010E)
{
Console.WriteLine("Image Description: " + Encoding.ASCII.GetString(item.Value));
}
}
Console.WriteLine("Metadata added and read successfully.");
}
}
}
توضیحات:
-
بارگذاری تصویر:
-
از Image.FromFile برای بارگذاری تصویر استفاده میشود.
-
دسترسی به property items:
-
از image.PropertyItems برای دسترسی به متادیتاهای موجود در تصویر استفاده میشود.
-
تعریف متادیتای جدید:
-
یک PropertyItem جدید ایجاد و مقادیر مورد نظر به آن اختصاص داده میشود.
-
افزودن property item به تصویر:
-
از image.SetPropertyItem برای افزودن متادیتای جدید به تصویر استفاده میشود.
-
ذخیره تصویر با متادیتا:
-
تصویر با متادیتای جدید ذخیره میشود.
-
خواندن متادیتا از تصویر:
-
تصویر جدید با متادیتا بارگذاری و متادیتای مورد نظر خوانده میشود.
این کد یک توضیح (description) به تصویر اضافه میکند و سپس آن را از تصویر میخواند. شما میتوانید این کد را بر اساس نیاز خود گسترش دهید و متادیتاهای بیشتری به تصویر اضافه کنید. اگر سوال دیگری دارید یا نیاز به توضیحات بیشتری دارید، بفرمایید!