حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

آموزش اضافه کردن واترمارک به تصاویر در ASP.NET MVC به زبان ساده

چگونه بر روی تصاویر در ASP.NET MVC واترمارک بگذاریم؟ اگر دقت کرده باشید، کلیه تصاویری که در وب سایت توسینسو بارگذاری می شوند دارای Watermark هستند، یعنی به قسمت پایین تصویر یک متن اضافه می شود که به آن Watermark گفته می شود. افزودن Watermark بیشتر برای این است که با کپی کردن تصاویر وب سایت شما، در خود تصویر نام وب سایت درج شده باشد. در این مطلب قصد داریم به شما نحوه افزودن Watermark به تصاویر را در ASP.NET MVC آموزش دهم.فرض کنید که می خواهیم برای Watermark یک متن را به انتهای تصویر اضافه کنیم، برای اینکار ابتدا یک متد به صورت زیر تعریف می کنیم:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
public Image AddImageWatermark(Image image, string copyright)
{
	var imgPhoto = image;
	var phWidth = imgPhoto.Width;
	var phHeight = imgPhoto.Height;

	var newImage = new Bitmap(imgPhoto);

	var grPhoto = Graphics.FromImage(newImage);

	grPhoto.SmoothingMode = SmoothingMode.AntiAlias;
	grPhoto.DrawImage(imgPhoto, new Rectangle(0, 0, phWidth, phHeight), 0, 0, phWidth, phHeight, GraphicsUnit.Pixel);

	var sizes = new[] { 16, 14, 12, 10, 8, 6, 4 };
	Font font = null;
	var size = new SizeF();
	for (var i = 0; i < 7; i++)
	{
		font = new Font("arial", sizes[i], FontStyle.Bold);
		size = grPhoto.MeasureString(copyright, font);

		if ((ushort)size.Width < (ushort)phWidth)
			break;
	}

	var yPixlesFromBottom = (int)(phHeight * .05);
	var yPosFromBottom = ((phHeight - yPixlesFromBottom) - (size.Height / 2));
	var xCenterOfImg = (phWidth / 2);

	var format = new StringFormat { Alignment = StringAlignment.Center };

	var semiTransBrush2 = new SolidBrush(Color.FromArgb(153, 0, 0, 0));

	grPhoto.DrawString(copyright, font, semiTransBrush2, new PointF(xCenterOfImg + 1, yPosFromBottom + 1), format);

	var semiTransBrush = new SolidBrush(Color.FromArgb(153, 255, 255, 255));

	grPhoto.DrawString(copyright, font, semiTransBrush, new PointF(xCenterOfImg, yPosFromBottom), format);

	return newImage;
}

کد بالا دو پارامتر به عنوان ورودی می گیرد، یکی تصویری که قرار است watermark به آن اضافه شود و دیگری متنی که می خواهیم بر روی تصویر درج کنیم، خروجی این متد هم یک تصویر به همراه Watermark است. به صورت زیر می توانیم از این کد استفاده کنیم:

var imageWithWatermark = AddImageWatermark(myImage, "وب سایت ITPRO");

با اجرای کد بالا، متن مشخص شده به انتهای تصویر اضافه خواهد شد. امیدوارم که این نکته مورد توجه شما دوستان عزیز قرار گرفته باشد. توسینسو باشید


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات