Vodoznaky v obrázcích se obvykle používají k nárokování vlastnictví obsahu. Na druhou stranu jsou obrázky opatřeny vodoznakem, aby se zabránilo neoprávněnému použití nebo padělání. V různých případech může být nutné zautomatizovat funkci vodoznaku ve vašich webových nebo desktopových aplikacích. Pro takové scénáře tento článek popisuje, jak přidat vodoznak do obrázků programově v C#. To může být také užitečné, když potřebujete vodoznakem dávku obrázků najednou. Tak začněme.
- C# API pro přidání vodoznaku do obrázků
- Přidat vodoznak do obrázku v C#
- Přidat diagonální vodoznak do obrázků v C#
- Získejte bezplatnou licenci API
Přidat vodoznak do obrázků v C# - Instalace API
Pro přidání vodoznaků do obrázků použijeme Aspose.Imaging for .NET. Jedná se o výkonné rozhraní API pro zpracování obrázků, které podporuje širokou škálu formátů obrázků. Kromě toho vám API usnadňuje manipulaci s obrázky. Můžete si buď stáhnout binární soubory API, nebo je nainstalovat pomocí NuGet.
PM> Install-Package Aspose.Imaging
Přidat vodoznak do obrázku v C#
Následují kroky pro přidání vodoznaku do obrázku pomocí C#.
- Načtěte obrázek pomocí třídy Image.
- Vytvořte instanci třídy Graphics a inicializujte ji objektem Image.
- Nastavte rodinu písem, velikost a vzhled pomocí třídy Font.
- Vytvořte instanci třídy SolidBrush a nastavte její vlastnosti, jako je barva atd.
- Vytvořte instanci třídy StringFormat pro nastavení zarovnání textu.
- Přidejte do obrázku vodoznak pomocí metody Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Uložte obrázek pomocí metody Image.Save(String).
Následující ukázka kódu ukazuje, jak přidat vodoznak do obrázku v C#.
// Načtěte existující obrázek PNG
using (Image image = Image.Load("image.png"))
{
// Deklarujte objekt typu String textem vodoznaku
string theString = "This is watermark";
// Vytvořte a inicializujte instanci třídy Graphics a Inicializujte objekt SizeF pro uložení velikosti obrázku
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Vytvoří instanci Písma, inicializuje ji pomocí Řez písma, Velikost a Styl
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Vytvořte instanci SolidBrush a nastavte jeho různé vlastnosti
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Inicializujte objekt třídy StringFormat a nastavte jeho různé vlastnosti
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Nakreslete řetězec na výstup Image Save na disk
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.jpg");
}
C# Přidat diagonální vodoznak do obrázků
V různých případech jsou vodoznaky aplikovány na obrázky diagonálně. Za tímto účelem vám Aspose.Imaging for .NET umožňuje transformovat text vodoznaku pod určitým úhlem. Následují kroky pro přidání diagonálního vodoznaku do obrázku.
- Načtěte obrázek pomocí třídy Image.
- Vytvořte instanci třídy Graphics a inicializujte ji objektem Image.
- Nastavte rodinu písem, velikost a vzhled pomocí třídy Font.
- Vytvořte instanci třídy SolidBrush a nastavte její vlastnosti, jako je barva atd.
- Vytvořte instanci třídy StringFormat pro nastavení zarovnání textu.
- Vytvořte instanci třídy Matrix a nastavte úhel transformace.
- Přiřaďte objekt Matrix vlastnosti Graphics.Transform.
- Přidejte vodoznak pomocí metody Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Uložte obrázek pomocí metody Image.Save(String).
Následující ukázka kódu ukazuje, jak přidat diagonální vodoznak do obrázků pomocí C#.
// Načtěte existující obrázek PNG
using (Image image = Image.Load("Image.png"))
{
// Deklarujte objekt typu String textem vodoznaku
string theString = "45 Degree Rotated Text";
// Vytvořte a inicializujte instanci třídy Graphics a Inicializujte objekt SizeF pro uložení velikosti obrázku
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Vytvoří instanci Písma, inicializuje ji pomocí Řez písma, Velikost a Styl
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Vytvořte instanci SolidBrush a nastavte jeho různé vlastnosti
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Inicializujte objekt třídy StringFormat a nastavte jeho různé vlastnosti
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Vytvořte objekt třídy Matrix pro transformaci
Matrix matrix = new Matrix();
// Nejdříve posun, pak rotace
matrix.Translate(sz.Width / 2, sz.Height / 2);
matrix.Rotate(-45.0f);
// Nastavte Transformaci pomocí Matrixu
graphics.Transform = matrix;
// Nakreslete řetězec na výstup Image Save na disk
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.png");
}
Vložte vodoznak do obrázků s bezplatnou licencí
Můžete získat bezplatnou dočasnou licenci a vložit vodoznak do obrázků bez omezení hodnocení.
Závěr
V tomto článku jste se naučili, jak přidat vodoznak do obrázků v C#. Dále jste viděli, jak převést text vodoznaku do určitého úhlu. Další informace o rozhraní API pro zpracování obrázků C# můžete prozkoumat pomocí dokumentace. V případě jakýchkoli dotazů nebo dotazů nás kontaktujte prostřednictvím našeho fóra.