Могу ли я добавить водяной знак на серию фотографий? - PullRequest
1 голос
/ 15 июня 2010

У меня есть большое количество фотографий, которые я бы хотел «защитить», добавив на них водяной знак. Есть ли способ добавить водяной знак с помощью vb.net или C #?

Ответы [ 3 ]

2 голосов
/ 15 июня 2010
public void AddWatermark(string filename, string watermarkText, Stream outputStream) {
    Bitmap bitmap = Bitmap.FromFile(filename);
    Font font = new Font("Arial", 20, FontStyle.Bold, GraphicsUnit.Pixel);
    Color color = Color.FromArgb(10, 0, 0, 0); //Adds a black watermark with a low alpha value (almost transparent).
    Point atPoint = new Point(100, 100); //The pixel point to draw the watermark at (this example puts it at 100, 100 (x, y)).
    SolidBrush brush = new SolidBrush(color);

    Graphics graphics = null;
    try {
        graphics = Graphics.FromImage(bitmap);
    } catch {
        Bitmap temp = bitmap;
        bitmap = new Bitmap(bitmap.Width, bitmap.Height);
        graphics = Graphics.FromImage(bitmap);
        graphics.DrawImage(temp, new Rectangle(0, 0, bitmap.Width, bitmap.Height), 0, 0, bitmap.Width, bitmap.Height, GraphicsUnit.Pixel);
        temp.Dispose();
    }

    graphics.DrawString(text, font, brush, atPoint);
    graphics.Dispose();

    bitmap.Save(outputStream);
}
1 голос
/ 15 июня 2010
0 голосов
/ 15 июня 2010

Этот пост в блоге обещает:

В этой статье будет описан подход к созданию простой утилиты с водяными знаками, которая может использоваться для добавления водяных знаков в любой поддерживаемый формат файла изображения.Получившееся приложение должно позволять пользователю открывать любой поддерживаемый формат файла изображения в прокручиваемом графическом окне, определять текст, который будет применяться в качестве водяного знака (с предоставленной версией по умолчанию), устанавливать шрифт и цвет водяного знака, определятьнепрозрачность водяного знака, чтобы определить, появляется ли водяной знак в верхней или нижней части изображения, и предварительно просмотреть водяной знак, прежде чем сохранить его на изображении.

Он должен обеспечить хорошееотправная точка.

...