افزودن یک علامت‌گذاری به تصویر

افزودن یک علامت‌گذاری به تصویر

این سند توضیح می‌دهد چگونه از Aspose.PSD برای افزودن یک علامت‌گذاری به یک تصویر استفاده کنید. افزودن یک علامت‌گذاری به یک تصویر نیاز متداولی در برنامه‌های پردازش تصویر است. این مثال از کلاس Graphics برای رسم یک رشته بر روی سطح تصویر استفاده می‌کند.

افزودن یک علامت‌گذاری

برای نمایش عمل، یک تصویر BMP از دیسک بارگذاری کرده و یک رشته به عنوان علامت‌گذاری در سطح تصویر با استفاده از متد DrawString کلاس Graphics رسم خواهیم کرد. سپس تصویر را با استفاده از کلاس PngOptions به فرمت PNG ذخیره خواهیم کرد. کد زیر نحوه افزودن یک علامت‌گذاری به یک تصویر را نشان می‌دهد. کد منبع مثال به بخش‌هایی تقسیم شده است تا دنبال کردن آن آسان شود. گام به گام، مثال‌ها نحوه:

  1. تصویر را بارگذاری کنید.
  2. یک شی از کلاس Graphics ایجاد و مقداردهی کنید.
  3. یک شی از فونت و SolidBrush ایجاد و مقداردهی کنید.
  4. یک رشته به عنوان علامت‌گذاری با استفاده از متد DrawString کلاس Graphics رسم کنید.
  5. تصویر را به فرمت PNG ذخیره کنید.

کد زیر نحوه افزودن یک علامت‌گذاری به تصویر را نشان می‌دهد.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
// Load a PSD file as an image and cast it into PsdImage
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd"))
{
// Create graphics object to perform draw operations.
Graphics graphics = new Graphics(psdImage);
// Create font to draw watermark with.
Font font = new Font("Arial", 20.0f);
// Create a solid brush with color alpha set near to 0 to use watermarking effect.
using (SolidBrush brush = new SolidBrush(Color.FromArgb(50, 128, 128, 128)))
{
// Specify string alignment to put watermark at the image center.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
// Draw watermark using font, partly-transparent brush and rotation matrix at the image center.
graphics.DrawString("Some watermark text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);
}
// Export the image into PNG file format.
psdImage.Save(dataDir + "AddWatermark_output.png", new PngOptions());
}

افزودن یک علامت‌گذاری مورب

افزودن یک علامت‌گذاری مورب به یک تصویر مشابه افزودن یک علامت‌گذاری افقی است که در بالا بحث شد، با تعدادی تفاوت. برای نشان دادن عمل، یک تصویر JPG را از دیسک بارگذاری کرده، تبدیل‌ها با استفاده از یک شی از کلاس Matrix اضافه کرده و یک رشته به عنوان علامت‌گذاری در سطح تصویر با استفاده از متد DrawString کلاس Graphics رسم خواهیم کرد. کد زیر نحوه افزودن یک علامت‌گذاری مورب به تصویر را نشان می‌دهد. کد منبع مثال به بخش‌هایی تقسیم شده است تا دنبال کردن آن آسان شود. گام به گام، مثال‌ها نحوه:

  1. تصویر را بارگذاری کنید.
  2. یک شی از کلاس Graphics ایجاد و مقداردهی کنید.
  3. یک شی از Font و SolidBrush ایجاد و مقداردهی کنید.
  4. اندازه تصویر را در شی SizeF بدست آورید.
  5. یک نمونه از کلاس Matrix ایجاد کرده و تبدیلات ترکیبی انجام دهید.
  6. تبدیل را به شی Graphics اختصاص دهید.
  7. یک شی از کلاس StringFormat ایجاد و مقداردهی کنید.
  8. یک رشته به عنوان علامت‌گذاری با استفاده از متد DrawString کلاس Graphics رسم کنید.
  9. تصویر نتیجه‌ای را ذخیره کنید.

کد زیر نحوه افزودن یک علامت‌گذاری مورب را نشان می‌دهد.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
// Load a PSD file as an image and cast it into PsdImage
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd"))
{
// Create graphics object to perform draw operations.
Graphics graphics = new Graphics(psdImage);
// Create font to draw watermark with.
Font font = new Font("Arial", 20.0f);
// Create a solid brush with color alpha set near to 0 to use watermarking effect.
using (SolidBrush brush = new SolidBrush(Color.FromArgb(50, 128, 128, 128)))
{
// specify transform matrix to rotate watermark.
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));
// Specify string alignment to put watermark at the image center.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
// Draw watermark using font, partly-transparent brush at the image center.
graphics.DrawString("Some watermark text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);
}
// Export the image into PNG file format.
psdImage.Save(dataDir + "AddDiagnolWatermark_output.png", new PngOptions());
}