Kantutjämning i C#

Att skapa realistiska bilder är utmanande eftersom det kräver rätt kombination av färger, texturer och linjetjocklekar. Aliasing är ett problem som uppstår när man skapar datorgrafikrelaterade bilder. För att skapa realistiska bilder måste vi utföra kantutjämning för att jämna ut ojämna linjer. Kantutjämning är en teknik som gör att grafiken på din skärm ser jämnare ut. Den tillämpar en algoritm på kanterna på ett objekt för att göra dem smidigare och mindre taggiga. Det finns olika typer av kantutjämningstekniker som kan användas, beroende på vilken typ av konst du arbetar med. Aliasing uppstår när det finns en hög kontrast mellan intilliggande pixlar. Detta kan orsaka taggiga linjer och trappstegskurvor där linjerna möts eller korsar varandra. Den här artikeln handlar om kantutjämning i datorgrafik med C#. Vi kommer att lära oss hur man använder kantutjämning med linjer, kurvor och text i C#.

Följande ämnen kommer att behandlas i den här artikeln:

  1. C# Computer Graphics Antialiasing API
  2. Antialiasing med linjer och kurvor
  3. Antialiasing med text

C# Computer Graphics Antialiasing API - Gratis nedladdning

För att implementera kantutjämning i C# kommer vi att använda Aspose.Drawing for .NET API. Detta plattformsoberoende 2D-grafikbibliotek låter dig rita text, geometri och bilder programmatiskt. Dessutom kan du ladda, spara och manipulera filformat som stöds.

Vänligen antingen ladda ned API:ets DLL eller installera den med NuGet.

PM> Install-Package Aspose.Drawing

Kantutjämning med linjer och kurvor i C#

Vi kan enkelt rita linjer och kurvor med kantutjämning i C# genom att följa stegen nedan:

  1. Skapa först en instans av Bitmap-klassen.
  2. Skapa sedan Graphics-klassobjektet med metoden Graphics.FromImage() med Bitmap-objektet.
  3. Ställ sedan in utjämningsläget på AntiAlias.
  4. Initiera under tiden ett Pen-klassobjekt med den angivna färgen och storleken.
  5. Efter det ritar du önskad linje, kurva eller andra objekt med hjälp av de relevanta metoderna.
  6. Till sist, anropa metoden Save() för att spara utdatabilden vid den angivna bildsökvägen.

Följande kodexempel visar hur man implementerar kantutjämning med linjer och kurvor i C#.

// Detta kodexempel visar hur man implementerar kantutjämning med linjer och kurvor.
// Skapa bitmapp
Bitmap bitmap = new Bitmap(500, 500, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initiera grafikobjektet
Graphics graphics = Graphics.FromImage(bitmap);

// Ställ in smoothin-läget
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
graphics.Clear(Color.White);

// Initiera en penna
Pen pen = new Pen(Color.Black, 5);

// Rita en Ellips
graphics.DrawEllipse(pen, 10, 10, 980, 780);

// Rita en kurva
graphics.DrawCurve(pen, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });

// Dra ett streck
graphics.DrawLine(pen, 20, 20, 980, 780);

// Spara bilden
bitmap.Save("C:\\Files\\Antialiasing.png");
Kantutjämning med linjer och kurvor i C#

Kantutjämning med linjer och kurvor i C#

Kantutjämning med text i C#

På liknande sätt kan vi använda kantutjämning med text i C# genom att följa stegen nedan:

  1. Skapa först en instans av Bitmap-klassen.
  2. Skapa sedan Graphics-klassobjektet med metoden Graphics.FromImage() med Bitmap-objektet.
  3. Initiera sedan ett Brush-klassobjekt med den angivna färgen.
  4. Under tiden ställer du in TextRenderingHint på AntiAlias.
  5. Efter det skriver du texten med metoden DrawString().
  6. Till sist, anropa metoden Save() för att spara utdatabilden vid den angivna bildsökvägen.

Följande kodexempel visar hur man implementerar kantutjämning med text i C#.

// Detta kodexempel visar hur man implementerar kantutjämning med linjer och kurvor.
// Skapa bitmapp
Bitmap bitmap = new Bitmap(500, 500, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initiera grafikobjektet
Graphics graphics = Graphics.FromImage(bitmap);

// Ställ in smoothin-läget
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
graphics.Clear(Color.White);

// Definiera teckensnittsfamilj
FontFamily fontFamily = new FontFamily("Arial");

// Definiera teckensnitt
Font font = new Font(fontFamily, 30, FontStyle.Regular, GraphicsUnit.Pixel);

// Initiera en solid borste
SolidBrush solidBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));

// Rita en sträng med textåtergivningstips som SingleBitPerPixel
graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;
graphics.DrawString("This is Single Bit Per Pixel String!", font, solidBrush, new PointF(10, 10));

// Rita en sträng med textåtergivningstips som AntiAlias
graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
graphics.DrawString("This is Anti Alias String!", font, solidBrush, new PointF(10, 60));

// Spara bilden
bitmap.Save("C:\\Files\\AntialiasingText.png");
Kantutjämning med text i C#

Kantutjämning med text i C#

Få gratis tillfällig licens

Du kan få en gratis tillfällig licens för att prova Aspose.Drawing för .NET utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man implementerar antialiasing-teknik programmatiskt i C#. Dessutom kan du lära dig mer om Aspose.Drawing för .NET med hjälp av dokumentation och utforska olika funktioner som stöds av API:et. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även