سلام کاربران عزیز  حال شماخوبه ؟ امید وارم که شاد و سربلند باشید و با اموزشهای ما همراه بمانید .امروز میخوام درمورد

افزودن Watermark به تصاویر در 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");

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