Skapa, ladda, fyll och rita bitmapp i C#

En bitmapp används för att skapa och lagra datorgrafik. Bitmappsbilder används ofta på webbsidor och digitala enheter som kameror, smartphones etc. De vanligaste bitmappsgrafikfiltyperna är BMP, GIF, PNG och JPEG. I den här artikeln kommer vi att lära oss hur man skapar en bitmapp i C#.

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

  1. C# API för att skapa, ladda, fylla och rita bitmapp
  2. Skapa en ny bitmapp från början
  3. Skapa en bitmapp från Byte Array
  4. Spara bitmapp som bildfil
  5. Rita former på bitmapp
  6. Rita text på bitmappsbild
  7. Fyll en bitmapp med solid färg
  8. Ladda in en bild i bitmapp
  9. Ändra storlek på en befintlig bild med hjälp av bitmapp

C# API för att skapa, ladda, fylla och rita bitmapp - gratis nedladdning

För att skapa en bitmapp kommer vi att använda Aspose.Drawing for .NET API. Det är ett plattformsoberoende 2D-grafikbibliotek för att rita text, geometrier och bilder programmatiskt. Den tillåter att ladda, spara och manipulera filformaten som stöds.

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

PM> Install-Package Aspose.Drawing

Skapa en ny bitmapp i C#

Vi kan skapa en ny bitmapp från början genom att följa stegen nedan:

  1. Skapa först en ny bitmapp med hjälp av klassen Bitmap med angiven storlek och format.
  2. Skapa sedan ett nytt Graphics-objekt från Bitmap-objektet med metoden FromImage().
  3. Initiera sedan ett Pen-klassobjekt med den angivna färgen och storleken.
  4. Efter det, anropa metoden DrawEllipse() för att rita en ellips med en angiven storlek.
  5. Slutligen, spara utdatabilden med hjälp av metoden Save().

Följande kodexempel visar hur man skapar en ny bitmapp i C#.

// Detta kodexempel visar hur man skapar en ny bitmapp programmatiskt i C#.
// Initiera Bitmap-objekt
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Skapa en ny grafik
Graphics graphics = Graphics.FromImage(bitmap);

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

// Rita en rektangel
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// Spara filen
bitmap.Save(@"C:\Files\Drawings\output.png");
Skapa-en-ny-bitmapp-i-CSharp

Skapa en ny bitmapp i C#

Skapa en bitmapp från Byte Array i C#

Vi kan skapa en bitmapp från minnesströmbytes genom att följa stegen nedan:

  1. Läs bildfilen till en byte-array.
  2. Skapa en ny instans av MemoryStream med hjälp av byte array-objektet.
  3. Skapa en ny bitmapp med hjälp av Bitmap-klassen med MemoryStream-objektet.
  4. Slutligen sparar du bilden med metoden Save().

Följande kodexempel visar hur man skapar en bitmapp från Byte Array med MemoryStream i C#.

// Detta kodexempel visar hur man skapar en ny bitmapp från minnesströmbytes i C#.
// Ladda bilden och läs alla bytes
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// Skapa minnesström
MemoryStream stream = new MemoryStream(file);

// Skapa en ny bitmapp
Bitmap bitmap = new Bitmap(stream);

// Spara filen
bitmap.Save(@"C:\Files\Drawings\output.jpg");

C# Spara bitmapp till en fil

Vi kan spara bitmappsbild till en fil i olika filformat som stöds genom att följa stegen som nämnts tidigare. Men vi behöver bara nämna det önskade filformattillägget för att spara medan du sparar bildfilen med metoden Spara (strängfilnamn, bildformatformat) i det sista steget.

  • Spara en bitmapp som en BMP-fil
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
  • Spara en bitmapp som en PNG-fil
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
  • Spara en bitmapp som en JPG-fil
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
  • Spara en bitmapp som en GIF-fil
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);

C# Rita på Bitmap

Vi kan rita olika former och bilder på en bitmapp genom att följa stegen som nämnts tidigare. Men vi behöver bara använda de formspecifika metoderna för att rita de önskade formerna.

Vi kan rita följande former med hjälp av de angivna specifika metoderna för att rita på bitmapp:

  • Arc: Vi kan rita en båge med metoden DrawArc().
  • Bezier: Vi kan rita en Bezier med metoden DrawBezier().
  • En serie Bézier-splines: Vi kan rita en serie Bezier-splines med metoden DrawBeziers().
  • Kurva: Vi kan rita en krökt form med metoden DrawCurve().
  • ClosedCurve: Vi kan rita en sluten kurva med metoden DrawClosedCurve().
  • Ellips: Vi kan rita en Ellips med metoden DrawEllipse().
  • Linje: Vi kan rita en linje med metoden DrawLine().
  • En serie linjer: Vi kan rita en serie linjer med metoden DrawLines().
  • Sökväg: Vi kan rita en bana med metoden DrawPath().
  • Pie: Vi kan rita en paj med metoden DrawPie().
  • Polygon: Vi kan rita en polygon med metoden DrawPolygon().
  • Rektangel: Vi kan rita en rektangel med metoden DrawRectangle().
  • En serie rektanglar: Vi kan rita en serie rektanglar med metoden DrawRectangles().

Vi kan rita bilderna på bitmappen med följande metoder:

  • Ikon: Vi kan rita bilden som representeras av den angivna ikonen inom området som anges av en rektangelstruktur med metoden DrawIcon().
  • Bild: Vi kan rita vilken bild som helst med metoden DrawImage().

C# Rita text på bitmapp

Vi kan rita vilken sträng som helst på en bitmapp genom att följa stegen nedan:

  1. Skapa först en ny bitmapp med hjälp av klassen Bitmap med den angivna storleken.
  2. Skapa sedan ett nytt Graphics-objekt från Bitmap-objektet med metoden FromImage().
  3. Definiera sedan ett typsnittsklassobjekt med önskad typsnittsfamilj, stil och storlek.
  4. Initiera under tiden ett SolidBrush-objekt med den angivna färgen.
  5. Efter det, anropa metoden DrawString() med texten för att visa, Font och Brush-objekt som argument.
  6. Slutligen, spara utdatabilden med hjälp av metoden Save().

Följande kodexempel visar hur man ritar text på en bitmapp i C#.

// Detta kodexempel visar hur man ritar en text på en ny bitmapp programmatiskt i C#.
// Initiera Bitmap-objekt
Bitmap bitmap = new Bitmap(500,200);

// Skapa en ny grafik
Graphics graphics = Graphics.FromImage(bitmap);

// Initiera ett teckensnitt
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);

// Initiera en borste
var brush = new SolidBrush(Color.Red);

// Rita en rektangel
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);

// Spara filen
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
C# Rita text på bitmapp

C# Rita text på bitmapp

Fyll en bitmapp med solid färg i C#

Vi kan fylla en bitmapp med en solid färg med hjälp av en fylld rektangel och spara den i en ny bitmapp genom att följa stegen nedan:

  1. Skapa först en ny bitmapp med hjälp av klassen Bitmap med den angivna storleken.
  2. Skapa sedan ett nytt Graphics-objekt från Bitmap-objektet med metoden FromImage().
  3. Initiera sedan ett Rectangle-klassobjekt med angiven plats och storlek.
  4. Därefter anropar du metoden FillRectangle() med penselfärg och rektangeln.
  5. Slutligen, spara utdatabilden med hjälp av metoden Save().

Följande kodexempel visar hur man fyller en bitmapp med en solid färg med hjälp av en rektangel i C#.

// Detta kodexempel visar hur man skapar en ny bitmapp med fylld rektangel i C#.
// Initiera bitmapp med specificerad storlek
Bitmap bitmap = new Bitmap(500, 500);

// Skapa en ny grafik
Graphics graph = Graphics.FromImage(bitmap);

// Definiera en rektangel
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// Rita en fylld rektangel
graph.FillRectangle(Brushes.Gray, ImageSize);

// Spara filen
bitmap.Save(@"C:\Files\Drawings\output.png");
C# Rita på bitmapp och fyll med rektangel

C# Rita rektangel på bitmapp och fyll med en färg

Ladda en bild i bitmapp med C#

Vi kan också ladda en befintlig bild i en bitmapp och spara den som en ny bitmapp genom att följa stegen nedan:

  1. Först laddar du en bild med hjälp av Bitmap-klassen.
  2. Skapa sedan en ny bitmapp med hjälp av klassen Bitmap med den angivna storleken.
  3. Skapa sedan ett nytt grafikobjekt från det nyskapade Bitmap-objektet med metoden FromImage().
  4. Efter det, anropa metoden DrawImage() med bilden och platskoordinaterna som argument.
  5. Slutligen, spara utdatabilden med hjälp av metoden Save().

Följande kodexempel visar hur man laddar en bild i en bitmapp med C#.

// Detta kodexempel visar hur man laddar en bild till en bitmapp och sparar som en ny bitmapp.
// Ladda bilden:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Initiera bitmapp med specificerad storlek
Bitmap bitmap = new Bitmap(1000, 1000);

// Skapa en ny grafik
Graphics graphics = Graphics.FromImage(bitmap);

// Rita en bild på angiven plats
graphics.DrawImage(image, 10, 10);

// Spara filen
bitmap.Save(@"C:\Files\Drawings\output.png");
Ladda-en-bild-i-bitmapp-med-CSharp

Ladda en bild i bitmapp med C#

Hur man ändrar storlek på bild med Bitmap i C#

Vi kan ladda och ändra storlek på en befintlig bild i en bitmapp och spara den som en ny bitmapp genom att följa stegen nedan:

  1. Ladda en befintlig bild med hjälp av Bitmap-klassen.
  2. Skapa en ny bitmapp med hjälp av klassen Bitmap med den inlästa bilden och specificerad storlek.
  3. Slutligen, spara utdatabilden med hjälp av metoden Save().

Följande kodexempel visar hur man ändrar storlek på en befintlig bild och sparar den som en ny bitmapp i C#.

// Det här kodexemplet visar hur man skapar ändra storlek på en befintlig bild och skapar en ny bitmapp i C#.
// Ladda bilden:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Skapa en ny bitmapp som är hälften av storleken på den laddade bilden:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// Spara filen
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Hur man ändrar storlek på bild med hjälp av Bitmap i C#

Ändra storlek på befintlig bild med 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:

  • skapa en ny bitmapp;
  • rita rektangel, ellips, etc. på en bitmapp;
  • ladda en befintlig bild;
  • ändra storlek på en befintlig bild och skapa en ny bitmapp med en ny storlek;
  • spara en bitmappsbild från MemoryStream eller byte-array till en fil;
  • ställ in en bredd och höjd för en bitmapp i C#.

Förutom att skapa en ny bitmapp i C# kan du lära dig mer om Aspose.Drawing för .NET med 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