Vattenstämplar i bilder används vanligtvis för att hävda äganderätten till innehållet. Å andra sidan är bilder vattenstämplade för att undvika obehörig användning eller förfalskning. I olika fall kan du behöva automatisera vattenmärkningsfunktionen i dina webb- eller skrivbordsprogram. För sådana scenarier täcker den här artikeln hur man lägger till vattenstämpel till bilder programmatiskt i C#. Detta kan också vara användbart när du behöver vattenstämpla ett parti bilder på en gång. Så låt oss börja.
- C# API för att lägga till vattenstämpel till bilder
- Lägg till vattenstämpel till en bild i C#
- Lägg till diagonal vattenstämpel till bilder i C#
- Få gratis API-licens
Lägg till vattenstämpel till bilder i C# - API-installation
För att lägga till vattenstämplar till bilder använder vi Aspose.Imaging for .NET. Det är ett kraftfullt bildbehandlings-API som stöder ett brett utbud av bildformat. Dessutom gör API:et det lättare för dig att manipulera bilderna. Du kan antingen ladda ner binärfiler av API:t eller få det installerat med NuGet.
PM> Install-Package Aspose.Imaging
Lägg till vattenstämpel till en bild i C#
Följande är stegen för att lägga till en vattenstämpel till en bild med C#.
- Ladda bilden med klassen Image.
- Skapa en instans av klassen Graphics och initiera den med objektet Image.
- Ställ in teckensnittsfamilj, storlek och ansikte med klassen Font.
- Skapa en instans av klassen SolidBrush och ställ in dess egenskaper som färg etc.
- Instantiera klassen StringFormat för att ställa in textjustering.
- Lägg till vattenstämpel till bilden med metoden Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Spara bilden med metoden Image.Save(String).
Följande kodexempel visar hur man lägger till en vattenstämpel till en bild i C#.
// Ladda en befintlig PNG-bild
using (Image image = Image.Load("image.png"))
{
// Deklarera ett strängobjekt med vattenstämpeltext
string theString = "This is watermark";
// Skapa och initiera en instans av grafikklassen och initiera ett objekt av SizeF för att lagra bildstorlek
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Skapar en instans av teckensnitt, initialisera den med teckensnitt, storlek och stil
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Skapa en instans av SolidBrush och ställ in dess olika egenskaper
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Initiera ett objekt av klassen StringFormat och ställ in dess olika egenskaper
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Rita strängen på Image Save output till disk
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.jpg");
}
C# Lägg till diagonal vattenstämpel till bilder
I olika fall appliceras vattenstämplar på bilderna diagonalt. För detta låter Aspose.Imaging för .NET dig omvandla vattenstämpeltexten i en viss vinkel. Följande är stegen för att lägga till en diagonal vattenstämpel till en bild.
- Ladda bilden med klassen Image.
- Skapa en instans av klassen Graphics och initiera den med objektet Image.
- Ställ in teckensnittsfamilj, storlek och ansikte med klassen Font.
- Skapa en instans av klassen SolidBrush och ställ in dess egenskaper som färg etc.
- Instantiera klassen StringFormat för att ställa in textjustering.
- Skapa en instans av klassen Matrix och ställ in transformationsvinkeln.
- Tilldela Matrix-objekt till egenskapen Graphics.Transform.
- Lägg till vattenstämpel med metoden Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Spara bilden med metoden Image.Save(String).
Följande kodexempel visar hur man lägger till en diagonal vattenstämpel till bilder med C#.
// Ladda en befintlig PNG-bild
using (Image image = Image.Load("Image.png"))
{
// Deklarera ett strängobjekt med vattenstämpeltext
string theString = "45 Degree Rotated Text";
// Skapa och initiera en instans av grafikklassen och initiera ett objekt av SizeF för att lagra bildstorlek
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Skapar en instans av teckensnitt, initialisera den med teckensnitt, storlek och stil
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Skapa en instans av SolidBrush och ställ in dess olika egenskaper
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Initiera ett objekt av klassen StringFormat och ställ in dess olika egenskaper
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Skapa ett objekt av klassen Matrix för transformation
Matrix matrix = new Matrix();
// Först en översättning sedan en rotation
matrix.Translate(sz.Width / 2, sz.Height / 2);
matrix.Rotate(-45.0f);
// Ställ in transformation genom matris
graphics.Transform = matrix;
// Rita strängen på Image Save output till disk
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.png");
}
Infoga vattenstämpel på bilder med en gratis licens
Du kan få en gratis tillfällig licens och infoga en vattenstämpel på bilder utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du lägger till en vattenstämpel till bilder i C#. Dessutom har du sett hur man omvandlar vattenstämpeltext till en viss vinkel. Du kan utforska mer om C# bildbehandlings-API med hjälp av dokumentation. Om du skulle ha några frågor eller funderingar, kontakta oss via vårt forum.