1

透かしを追加して「保護」したい写真がたくさんあります。vb.net または C# を使用して透かしを追加する方法はありますか?

4

3 に答える 3

2
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);
}
于 2010-06-14T21:40:18.747 に答える
1

.Net ラッパーでImageMagickを使用します。

于 2010-06-14T21:40:00.163 に答える
0

このブログ投稿では、次のことを約束しています。

この記事では、サポートされている画像ファイル形式に透かしを追加するために使用できる単純な透かしユーティリティを構築する方法について説明します。結果として得られるアプリケーションでは、ユーザーがサポートされている画像ファイル形式をスクロール可能な画像ボックスに開いたり、透かしとして適用されるテキストを定義したり (デフォルト バージョンが提供されている場合)、透かしのフォントと色を設定したり、透かしを定義したりできます。透かしの不透明度、透かしが画像の上部または下部に表示されるかどうかを決定し、画像に保存する前に透かしをプレビューします。

それは良い出発点を提供するはずです。

于 2010-06-14T21:39:43.393 に答える