![Twórz, ładuj, wypełniaj i rysuj mapy bitowe w języku C#](images/create-bitmap-in-csharp.jpg#center)
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:
- C# API do tworzenia, ładowania, wypełniania i rysowania mapy bitowej
- Utwórz nową bitmapę od podstaw
- Utwórz bitmapę z tablicy bajtów
- Zapisz mapę bitową jako plik obrazu
- Rysuj kształty na bitmapie
- Rysuj tekst na obrazie bitmapowym
- Wypełnij bitmapę jednolitym kolorem
- Załaduj obraz w bitmapie
- 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:
- Najpierw utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze i formacie.
- Następnie utwórz nowy obiekt Graphics z obiektu Bitmap przy użyciu metody FromImage().
- Następnie zainicjuj obiekt klasy Pen o określonym kolorze i rozmiarze.
- Następnie wywołaj metodę DrawEllipse(), aby narysować Ellipse o określonym rozmiarze.
- 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](images/Create-a-New-Bitmap-in-CSharp.png#center)
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:
- Wczytaj plik obrazu do tablicy bajtów.
- Utwórz nową instancję elementu MemoryStream przy użyciu obiektu tablicy bajtów.
- Utwórz nową mapę bitową przy użyciu klasy Bitmap z obiektem MemoryStream.
- 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:
- Najpierw utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze.
- Następnie utwórz nowy obiekt Graphics z obiektu Bitmap przy użyciu metody FromImage().
- Następnie zdefiniuj obiekt klasy Font z żądaną rodziną czcionek, stylem i rozmiarem.
- W międzyczasie zainicjuj obiekt SolidBrush o określonym kolorze.
- Następnie wywołaj metodę DrawString() z tekstem do pokazania, obiektami Font i Brush jako argumentami.
- 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](images/CSharp-Draw-Text-on-Bitmap.png#center)
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:
- Najpierw utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze.
- Następnie utwórz nowy obiekt Graphics z obiektu Bitmap przy użyciu metody FromImage().
- Następnie zainicjuj obiekt klasy Rectangle z określoną lokalizacją i rozmiarem.
- Następnie wywołaj metodę FillRectangle() z kolorem pędzla i właściwością Rectangle.
- 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](images/Create-Bitmap-with-Filled-Rectangle.png#center)
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:
- Najpierw załaduj obraz przy użyciu klasy Bitmap.
- Następnie utwórz nową mapę bitową przy użyciu klasy Bitmap o określonym rozmiarze.
- Następnie utwórz nowy obiekt Graphics z nowo utworzonego obiektu Bitmap przy użyciu metody FromImage().
- Następnie wywołaj metodę DrawImage() z obrazem i współrzędnymi lokalizacji jako argumentami.
- 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](images/Load-an-Image-in-Bitmap-using-CSharp.jpg#center)
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:
- Załaduj istniejący obraz przy użyciu klasy Bitmap.
- Utwórz nową mapę bitową przy użyciu klasy Bitmap z załadowanym obrazem i określonym rozmiarem.
- 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#](images/Resize-Existing-Image-using-CSharp.jpg#center)
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.