واترمارک در تصاویر معمولا برای ادعای مالکیت محتوا استفاده می شود. از سوی دیگر، تصاویر برای جلوگیری از استفاده غیرمجاز یا جعل، واترمارک می شوند. در موارد مختلف، ممکن است لازم باشد ویژگی واترمارکینگ را در برنامه های وب یا دسکتاپ خود به طور خودکار انجام دهید. برای چنین سناریوهایی، این مقاله نحوه اضافه کردن واترمارک به تصاویر را به صورت برنامهریزی با استفاده از سی شارپ پوشش میدهد. این همچنین می تواند مفید باشد زمانی که شما نیاز به واترمارک کردن دسته ای از تصاویر در یک حرکت دارید. پس بیایید شروع کنیم.
- C# API برای افزودن واترمارک به تصاویر
- اضافه کردن واترمارک به تصویر در سی شارپ
- اضافه کردن واترمارک مورب به تصاویر در سی شارپ
- مجوز API رایگان دریافت کنید
C# API برای افزودن واترمارک به تصاویر
برای افزودن واترمارک به تصاویر، از Aspose.Imaging for .NET استفاده می کنیم. این یک API پردازش تصویر قدرتمند است که طیف گسترده ای از فرمت های تصویر را پشتیبانی می کند. علاوه بر این، API دستکاری تصاویر را برای شما آسان تر می کند. میتوانید باینریهای API را دانلود یا با استفاده از NuGet نصب کنید.
PM> Install-Package Aspose.Imaging
اضافه کردن واترمارک به تصویر در سی شارپ
مراحل زیر برای افزودن واترمارک به تصویر با استفاده از سی شارپ آمده است.
- تصویر را با استفاده از کلاس Image بارگیری کنید.
- یک نمونه از کلاس Graphics ایجاد کنید و آن را با شی Image مقداردهی کنید.
- با استفاده از کلاس Font خانواده فونت، اندازه و چهره را تنظیم کنید.
- یک نمونه از کلاس SolidBrush ایجاد کنید و ویژگی های آن را مانند رنگ و غیره تنظیم کنید.
- برای تنظیم تراز متن، کلاس StringFormat را نمونه سازی کنید.
- با استفاده از روش [Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat) 10 واترمارک را به تصویر اضافه کنید.
- تصویر را با استفاده از روش Image.Save(String) ذخیره کنید.
نمونه کد زیر نحوه اضافه کردن واترمارک به یک تصویر در سی شارپ را نشان می دهد.
// یک تصویر PNG موجود را بارگیری کنید
using (Image image = Image.Load("image.png"))
{
// یک شی رشته را با متن واترمارک اعلام کنید
string theString = "This is watermark";
// یک نمونه از کلاس Graphics ایجاد و مقداردهی اولیه کنید و یک شی از SizeF را برای ذخیره اندازه تصویر راه اندازی کنید.
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// نمونه ای از فونت ایجاد می کند، آن را با فونت Face، اندازه و سبک مقداردهی اولیه می کند
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// یک نمونه از SolidBrush ایجاد کنید و ویژگی های مختلف آن را تنظیم کنید
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// یک شی از کلاس StringFormat را مقداردهی کنید و ویژگی های مختلف آن را تنظیم کنید
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// رشته را روی خروجی ذخیره تصویر روی دیسک بکشید
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.jpg");
}
اضافه کردن واترمارک مورب به تصاویر در سی شارپ
در موارد مختلف واترمارک به صورت مورب روی تصاویر اعمال می شود. برای این منظور، Aspose.Imaging برای دات نت به شما امکان می دهد متن واترمارک را در یک زاویه خاص تبدیل کنید. مراحل زیر برای افزودن واترمارک مورب به تصویر آمده است.
- تصویر را با استفاده از کلاس Image بارگیری کنید.
- یک نمونه از کلاس Graphics ایجاد کنید و آن را با شی Image مقداردهی اولیه کنید.
- با استفاده از کلاس Font خانواده فونت، اندازه و چهره را تنظیم کنید.
- یک نمونه از کلاس SolidBrush ایجاد کنید و ویژگی های آن مانند رنگ و غیره را تنظیم کنید.
- برای تنظیم تراز متن، کلاس StringFormat را نمونه سازی کنید.
- یک نمونه از کلاس Matrix ایجاد کنید و زاویه تبدیل را تنظیم کنید.
- شی ماتریس را به ویژگی Graphics.Transform اختصاص دهید.
- با استفاده از روش [Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat) 20 واترمارک اضافه کنید.
- تصویر را با استفاده از روش Image.Save(String) ذخیره کنید.
نمونه کد زیر نحوه اضافه کردن واترمارک مورب به تصاویر را با استفاده از C# نشان می دهد.
// یک تصویر PNG موجود را بارگیری کنید
using (Image image = Image.Load("Image.png"))
{
// یک شی رشته را با متن واترمارک اعلام کنید
string theString = "45 Degree Rotated Text";
// یک نمونه از کلاس Graphics ایجاد و مقداردهی اولیه کنید و یک شی از SizeF را برای ذخیره اندازه تصویر راه اندازی کنید.
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// نمونه ای از فونت ایجاد می کند، آن را با فونت Face، اندازه و سبک مقداردهی اولیه می کند
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// یک نمونه از SolidBrush ایجاد کنید و ویژگی های مختلف آن را تنظیم کنید
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// یک شی از کلاس StringFormat را مقداردهی کنید و ویژگی های مختلف آن را تنظیم کنید
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// یک شی از کلاس Matrix برای تبدیل ایجاد کنید
Matrix matrix = new Matrix();
// ابتدا ترجمه و سپس چرخش
matrix.Translate(sz.Width / 2, sz.Height / 2);
matrix.Rotate(-45.0f);
// تبدیل از طریق ماتریس را تنظیم کنید
graphics.Transform = matrix;
// رشته را روی خروجی ذخیره تصویر روی دیسک بکشید
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.png");
}
مجوز API رایگان دریافت کنید
در صورتی که میخواهید API را بدون محدودیت ارزیابی امتحان کنید، میتوانید یک مجوز موقت رایگان دریافت کنید.
نتیجه
در این مقاله نحوه اضافه کردن واترمارک به تصاویر با استفاده از سی شارپ را یاد گرفتید. علاوه بر این، نحوه تبدیل متن واترمارک به یک زاویه خاص را دیده اید. می توانید با استفاده از Documentation درباره API پردازش تصویر C# بیشتر کاوش کنید. در صورت داشتن هرگونه سوال یا سوال، از طریق [تالار گفتمان24 ما با ما تماس بگیرید.