Я хотел бы применить водяной знак к изображениям.
В данный момент я пытаюсь использовать этот код, но он не работает на изображениях разных размеров:
public void AddWaterMark(string filePath, string watermarkText)
{
Image img = Image.FromFile(
MapPath(GlobalVariables.UploadPath + "/" + filePath));
Graphics gr = Graphics.FromImage(img);
Font font = new Font("Alial Black", 40);
Color color = Color.FromArgb(50, 241, 235, 105);
StringFormat stringFormat = new StringFormat
{
Alignment = StringAlignment.Near,
LineAlignment = StringAlignment.Near
};
gr.SmoothingMode = SmoothingMode.AntiAlias;
gr.DrawString(watermarkText, font, new SolidBrush(color),
new Point(20, img.Height - 60), stringFormat);
img.Save(MapPath(GlobalVariables.UploadPath + "/w_" + filePath));
}
Иногдашрифт уходит снизу.Я хочу, чтобы это был текст вдоль нижней части изображения.
Как сделать так, чтобы он не уходил снизу?
Кроме того, я хочу немного улучшить его.Я хочу сделать белую, но прозрачную полосу по всей длине нижней части изображения, а затем написать поверх нее черный текст.Это возможно с рисунком?Итак, полоса в нижней части изображения, возможно, 60 пикселей в высоту, и в середине 60 пикселей, я хочу, чтобы текст был написан (выровнено по левому краю).
Я также нахожу, что текст перемещается вокругразмер файла
Вот изображение, которое работает: http://www.listerhome.com/fulldisplay.aspx?imageid=100055
Иногда, когда я загружаю изображения с более высоким разрешением, я получаю это: http://www.listerhome.com/fulldisplay.aspx?imageid=100060