nakreslit-text-obrázek-ostrý

Vidíme nebo vytváříme spoustu obrázků pro vizuální informaci. Někdy je potřeba přidat nebo nakreslit text na obrázek takovým způsobem, že nikdo jiný nemůže tento text upravit. Vodoznak obrázku je jedním z nejběžnějších příkladů. Podobně popisování nebo kontrola obrázků může také vyžadovat nakreslený text. Podívejme se na další použití kreslení textu na obrázky:

Přidat, vložit nebo nakreslit formátovaný text na obrázek – instalace C# API

Aspose.Drawing for .NET API je 2D grafická knihovna, která je kompatibilní s balíčkem System.Drawing. Podporuje vykreslování obdélníků, křivek, čar, textu a další grafiky na obrázky. Není závislý na žádné knihovně třetích stran, takže může být použit v jakémkoli prostředí. Lze jej například použít také k vykreslování grafiky v Linuxu nebo Azure Functions V2, kde knihovna System.Drawing není podporována. Aspose.Drawing for .NET API můžete nainstalovat stažením ze sekce Downloads nebo pomocí následujícího instalačního příkazu:

PM> Install-Package Aspose.Drawing

Nakreslit text jako vodoznak na existující obrázek programově pomocí C#

Textový vodoznak na obrázku se často používá k zobrazení vlastnictví, přidružení nebo účelu obrázku. Text můžete přidat nebo nakreslit jako vodoznak na existující obrázek pomocí následujících kroků:

  1. Načíst existující vstupní obrázek
  2. Inicializujte objekt třídy Graphics
  3. Nastavte formátování textu a text
  4. Nakreslete text
  5. Uložit výstupní obrázek

Následující kód ukazuje, jak nakreslit text jako vodoznak na existující obrázek programově pomocí C#:

// Načíst existující vstupní obrázek
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");

// Inicializujte objekt třídy Graphics
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));

// Při určování barvy deklarujte štětec
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Nastavit písmo textu
Font arial = new Font("Arial", 20, FontStyle.Regular);

// Nastavit text
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Nakreslete text
graphics.DrawString(text, arial, brush, rectangle);

// Uložit výstupní obrázek
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Kreslit text na nový obrázek od nuly programově v C#

Možná budete muset nakreslit nějaký text ve formátu obrázku pro různé účely. Možná budete chtít ostatním zabránit v úpravách nebo kopírování textového obsahu. Pro kreslení textu na nový obrázek musíte postupovat podle následujících kroků:

  1. Inicializujte nový obrázek od začátku
  2. Inicializujte objekt třídy Štětec
  3. Nastavte styl písma, velikost atd.
  4. Nakreslete text on the image
  5. Uložit výstupní obrázek

Fragment kódu níže ukazuje, jak nakreslit text na nový obrázek od začátku programově pomocí jazyka C#:

// Inicializujte nový obrázek od začátku
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.Clear(Color.FromKnownColor(KnownColor.White));

// Inicializujte objekt třídy Brush
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Nastavte styl písma, velikost atd.
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Nakreslete text na obrázek
graphics.DrawString(text, arial, brush, rectangle);

// Uložit výstupní obrázek
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Závěr

V tomto článku jsme se naučili přidávat nebo kreslit text na obrázky. Textový vodoznak můžete kreslit do stávajících i nových obrázků úplně od začátku, aniž byste museli instalovat jakoukoli aplikaci třetí strany. Navíc můžete zpracovat mnoho obrazových formátů včetně JPG, PNG, BMP, Icon, Tiff atd. API nabízí několik funkcí pro zpracování výkresů a grafiky podle vašich požadavků. Můžete navštívit Příkladový projekt, který jsme navrhli jako ukázku pro různé scénáře. V případě jakýchkoli obav nás neváhejte kdykoli kontaktovat prostřednictvím Fóra bezplatné podpory. Na zdraví!

Viz také

Informace: Aspose nedávno vyvinul ZDARMA převaděč textu na GIF.