Twórz, ładuj, wypełniaj i rysuj mapy bitowe w języku C#

Mapa bitowa służy do tworzenia i przechowywania grafiki komputerowej. Obrazy bitmapowe są szeroko stosowane na stronach internetowych i urządzeniach cyfrowych, takich jak aparaty fotograficzne, smartfony itp. Najpopularniejsze typy plików graficznych bitmap to BMP, GIF, PNG i JPG. W tym artykule dowiemy się, jak utworzyć bitmapę w języku C#.

W tym artykule zostaną omówione następujące tematy:

  1. C# API do tworzenia, ładowania, wypełniania i rysowania mapy bitowej
  2. Utwórz nową bitmapę od podstaw
  3. Utwórz bitmapę z tablicy bajtów
  4. Zapisz mapę bitową jako plik obrazu
  5. Rysuj kształty na bitmapie
  6. Rysuj tekst na obrazie bitmapowym
  7. Wypełnij bitmapę jednolitym kolorem
  8. Załaduj obraz w bitmapie
  9. Zmień rozmiar istniejącego obrazu za pomocą mapy bitowej

Interfejs API języka C# do tworzenia, ładowania, wypełniania i rysowania map bitowych — bezpłatne pobieranie

Aby utworzyć bitmapę, użyjemy API Aspose.Drawing for .NET. Jest to międzyplatformowa biblioteka grafiki 2D do programowego rysowania tekstu, geometrii i obrazów. Umożliwia ładowanie, zapisywanie i manipulowanie obsługiwanymi formatami plików.

Proszę pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.

PM> Install-Package Aspose.Drawing

Utwórz nową bitmapę w C#

Możemy stworzyć nową bitmapę od podstaw, wykonując poniższe czynności:

  1. Najpierw utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze i formacie.
  2. Następnie utwórz nowy obiekt Graphics z obiektu Bitmap przy użyciu metody FromImage().
  3. Następnie zainicjuj obiekt klasy Pen o określonym kolorze i rozmiarze.
  4. Następnie wywołaj metodę DrawEllipse(), aby narysować Ellipse o określonym rozmiarze.
  5. Na koniec zapisz obraz wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak utworzyć nową mapę bitową w języku C#.

// Ten przykład kodu demonstruje, jak programowo utworzyć nową mapę bitową w języku C#.
// Zainicjuj obiekt Bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Utwórz nową grafikę
Graphics graphics = Graphics.FromImage(bitmap);

// Zainicjuj pióro
Pen pen = new Pen(Color.Red, 5);

// Narysuj prostokąt
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// Zapisz plik
bitmap.Save(@"C:\Files\Drawings\output.png");
Utwórz-nową-bitmapę-w-CSharp

Utwórz nową mapę bitową w języku C#

Utwórz bitmapę z tablicy bajtów w C#

Możemy utworzyć bitmapę z bajtów strumienia pamięci, wykonując czynności podane poniżej:

  1. Wczytaj plik obrazu do tablicy bajtów.
  2. Utwórz nową instancję elementu MemoryStream przy użyciu obiektu tablicy bajtów.
  3. Utwórz nową mapę bitową przy użyciu klasy Bitmap z obiektem MemoryStream.
  4. Na koniec zapisz obraz przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak utworzyć mapę bitową z Byte Array przy użyciu MemoryStream w języku C#.

// Ten przykład kodu demonstruje, jak utworzyć nową mapę bitową z bajtów strumienia pamięci w języku C#.
// Załaduj obraz i przeczytaj wszystkie bajty
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// Utwórz strumień pamięci
MemoryStream stream = new MemoryStream(file);

// Utwórz nową bitmapę
Bitmap bitmap = new Bitmap(stream);

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

C# Zapisz mapę bitową do pliku

Możemy zapisać obraz bitmapowy do pliku w różnych obsługiwanych formatach plików, wykonując czynności wymienione wcześniej. Jednak musimy tylko wspomnieć o żądanym rozszerzeniu formatu pliku zapisu podczas zapisywania pliku obrazu przy użyciu metody Save(string filename, ImageFormat format) w ostatnim kroku.

  • Zapisz mapę bitową jako plik BMP
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
  • Zapisz mapę bitową jako plik PNG
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
  • Zapisz mapę bitową jako plik JPG
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
  • Zapisz mapę bitową jako plik GIF
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);

C# Rysuj na mapie bitowej

Możemy rysować różne kształty i obrazy na mapie bitowej, wykonując czynności wspomniane wcześniej. Jednak wystarczy użyć metod specyficznych dla kształtu, aby narysować pożądane kształty.

Możemy narysować następujące kształty, korzystając z określonych metod rysowania na mapie bitowej:

  • Łuk: Możemy narysować Łuk za pomocą metody DrawArc().
  • Bezier: Możemy narysować Beziera za pomocą metody DrawBezier().
  • Seria krzywych Béziera: Możemy narysować serię krzywych Béziera za pomocą metody DrawBeziers().
  • Krzywa: Możemy narysować zakrzywiony kształt za pomocą metody DrawCurve().
  • ClosedCurve: Możemy narysować krzywą zamkniętą za pomocą metody DrawClosedCurve().
  • Elipsa: Możemy narysować Elipsę za pomocą metody DrawEllipse().
  • Linia: Linię możemy narysować za pomocą metody DrawLine().
  • Seria linii: Możemy narysować serię linii za pomocą metody DrawLines().
  • Ścieżka: Możemy narysować Ścieżkę za pomocą metody DrawPath().
  • Ciasto: Możemy narysować ciasto za pomocą metody DrawPie().
  • Wielokąt: Możemy narysować wielokąt za pomocą metody DrawPolygon().
  • Prostokąt: Możemy narysować prostokąt za pomocą metody DrawRectangle().
  • Seria prostokątów: Możemy narysować serię prostokątów za pomocą metody DrawRectangles().

Obrazy na mapie bitowej możemy narysować następującymi metodami:

  • Ikona: Możemy narysować obraz reprezentowany przez określoną Ikonę w obszarze określonym przez strukturę Rectangle za pomocą metody DrawIcon().
  • Obraz: Możemy narysować dowolny określony Obraz za pomocą metody DrawImage().

C# Rysuj tekst na mapie bitowej

Możemy narysować dowolny napis na mapie bitowej, wykonując poniższe czynności:

  1. Najpierw utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze.
  2. Następnie utwórz nowy obiekt Graphics z obiektu Bitmap przy użyciu metody FromImage().
  3. Następnie zdefiniuj obiekt klasy Font z żądaną rodziną czcionek, stylem i rozmiarem.
  4. W międzyczasie zainicjuj obiekt SolidBrush o określonym kolorze.
  5. Następnie wywołaj metodę DrawString() z tekstem do pokazania, obiektami Font i Brush jako argumentami.
  6. Na koniec zapisz obraz wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak rysować tekst na mapie bitowej w języku C#.

// Ten przykład kodu demonstruje, jak programowo narysować tekst na nowej mapie bitowej w języku C#.
// Zainicjuj obiekt Bitmap
Bitmap bitmap = new Bitmap(500,200);

// Utwórz nową grafikę
Graphics graphics = Graphics.FromImage(bitmap);

// Zainicjuj czcionkę
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);

// Zainicjuj pędzel
var brush = new SolidBrush(Color.Red);

// Narysuj prostokąt
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);

// Zapisz plik
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
C# Rysuj tekst na mapie bitowej

C# Rysuj tekst na mapie bitowej

Wypełnij bitmapę jednolitym kolorem w C#

Możemy wypełnić bitmapę jednolitym kolorem za pomocą wypełnionego prostokąta i zapisać ją w nowej mapie bitowej, wykonując poniższe czynności:

  1. Najpierw utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze.
  2. Następnie utwórz nowy obiekt Graphics z obiektu Bitmap przy użyciu metody FromImage().
  3. Następnie zainicjuj obiekt klasy Rectangle z określoną lokalizacją i rozmiarem.
  4. Następnie wywołaj metodę FillRectangle() z kolorem pędzla i właściwością Rectangle.
  5. Na koniec zapisz obraz wyjściowy przy użyciu metody Save().

Poniższy przykład kodu pokazuje, jak wypełnić mapę bitową jednolitym kolorem przy użyciu prostokąta w języku C#.

// Ten przykład kodu demonstruje, jak utworzyć nową mapę bitową z wypełnionym prostokątem w języku C#.
// Zainicjuj mapę bitową o określonym rozmiarze
Bitmap bitmap = new Bitmap(500, 500);

// Utwórz nową grafikę
Graphics graph = Graphics.FromImage(bitmap);

// Zdefiniuj prostokąt
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// Narysuj wypełniony prostokąt
graph.FillRectangle(Brushes.Gray, ImageSize);

// Zapisz plik
bitmap.Save(@"C:\Files\Drawings\output.png");
C# Rysuj na mapie bitowej i wypełniaj prostokątem

C# Narysuj prostokąt na mapie bitowej i wypełnij kolorem

Załaduj obraz w bitmapie za pomocą C#

Możemy również załadować istniejący obraz do mapy bitowej i zapisać go jako nową mapę bitową, wykonując czynności podane poniżej:

  1. Najpierw załaduj obraz przy użyciu klasy Bitmap.
  2. Następnie utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze.
  3. Następnie utwórz nowy obiekt Graphics z nowo utworzonego obiektu Bitmap przy użyciu metody FromImage().
  4. Następnie wywołaj metodę DrawImage() z obrazem i współrzędnymi lokalizacji jako argumentami.
  5. Na koniec zapisz obraz wyjściowy przy użyciu metody Save().

Poniższy przykład kodu pokazuje, jak załadować obraz w mapie bitowej przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak załadować obraz do mapy bitowej i zapisać jako nową mapę bitową.
// Załaduj obraz:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Zainicjuj mapę bitową o określonym rozmiarze
Bitmap bitmap = new Bitmap(1000, 1000);

// Utwórz nową grafikę
Graphics graphics = Graphics.FromImage(bitmap);

// Narysuj obraz w określonej lokalizacji
graphics.DrawImage(image, 10, 10);

// Zapisz plik
bitmap.Save(@"C:\Files\Drawings\output.png");
Załaduj obraz w mapie bitowej za pomocą programu CSharp

Załaduj obraz w bitmapie za pomocą C#

Jak zmienić rozmiar obrazu za pomocą bitmapy w C#

Możemy załadować i zmienić rozmiar istniejącego obrazu w mapie bitowej i zapisać go jako nową mapę bitową, wykonując czynności podane poniżej:

  1. Załaduj istniejący obraz przy użyciu klasy Bitmap.
  2. Utwórz nową mapę bitową przy użyciu klasy Bitmap z załadowanym obrazem i określonym rozmiarem.
  3. Na koniec zapisz obraz wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak zmienić rozmiar istniejącego obrazu i zapisać go jako nową mapę bitową w języku C#.

// Ten przykład kodu demonstruje, jak utworzyć zmianę rozmiaru istniejącego obrazu i utworzyć nową mapę bitową w języku C#.
// Załaduj obraz:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Utwórz nową bitmapę o połowie rozmiaru załadowanego obrazu:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// Zapisz plik
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Jak zmienić rozmiar obrazu za pomocą bitmapy w C#

Zmień rozmiar istniejącego obrazu za pomocą C#

Uzyskaj bezpłatną tymczasową licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować Aspose.Drawing for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • utwórz nową bitmapę;
  • rysować prostokąt, elipsę itp. na mapie bitowej;
  • załaduj istniejący obraz;
  • zmienić rozmiar istniejącego obrazu i utworzyć nową bitmapę o nowym rozmiarze;
  • zapisz obraz Bitmap z MemoryStream lub tablicy bajtów do pliku;
  • ustaw szerokość i wysokość mapy bitowej w języku C#.

Oprócz tworzenia nowej mapy bitowej w C#, możesz dowiedzieć się więcej o Aspose.Drawing for .NET przy użyciu dokumentacji i poznać różne funkcje obsługiwane przez API. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też