Przycinanie obrazu, znane również jako maskowanie obrazu lub ekstrakcja obiektów, to technika stosowana w projektowaniu graficznym i przetwarzaniu obrazu. Służy do izolowania określonych obiektów lub obiektów z obrazu. W tym artykule przyjrzymy się implementacji przycinania obrazu w języku C#. Poznaj techniki krok po kroku wyodrębniania obiektów i ulepszania projektów.
W tym artykule zostaną omówione następujące tematy:
- Interfejs API przycinania obrazów w języku C# — bezpłatne pobieranie
- Jak zaimplementować przycinanie obrazu w języku C#
- Wyodrębnij obiekt z obrazu w C#
- Bezpłatne zasoby edukacyjne
Interfejs API przycinania obrazów C# — bezpłatne pobieranie
Aby zaimplementować przycinanie obrazu w języku C#, użyjemy interfejsu 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
Przycinanie obrazu C#
Możemy programowo zaimplementować przycinanie obrazu, wykonując następujące czynności:
- Najpierw utwórz instancję klasy Bitmap.
- Następnie utwórz obiekt klasy Graphics przy użyciu metody FromImage().
- Następnie zdefiniuj ścieżkę klipu przy użyciu klasy GraphicsPath.
- Następnie ustaw ścieżkę klipu za pomocą metody SetClip().
- Na koniec zapisz obraz wyjściowy przy użyciu metody Save().
Poniższy przykładowy kod pokazuje, jak zaimplementować przycinanie obrazu w języku C#.
// Utwórz nową mapę bitową
var bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Zainicjuj grafikę
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
// Zdefiniuj klip
Rectangle rectangle = new Rectangle(200, 200, 600, 400);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);
// Określ ciąg
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
Brush brush = new SolidBrush(Color.Red);
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.";
// Sznurek do ściągacza
graphics.DrawString(text, arial, brush, rectangle, stringFormat);
// Ratować
bitmap.Ratować("C:\\Files\\Clipping.png");
Wyodrębnij obiekt z obrazu w C#
Możemy wyodrębnić określoną część obrazu za pomocą przycinania obrazu, wykonując czynności wymienione wcześniej. Jednak musimy tylko załadować istniejący obraz i narysować go za pomocą metody DrawImage().
Poniższy przykład kodu pokazuje, jak używać obiektu wyodrębniania z obrazu w języku C#.
// Utwórz nową mapę bitową
var bitmap = new Bitmap(225, 225, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Zainicjuj grafikę
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
// Zdefiniuj klip
Rectangle rectangle = new Rectangle(0, 0, 225, 225);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);
// Załaduj obraz
Bitmap image = new Bitmap(@"C:\Files\aspose-logo.png");
// Narysuj obraz w określonej lokalizacji
graphics.DrawImage(image,0,0);
bitmap.Save("C:\\Files\\extract-object.png");
Uzyskaj bezpłatną tymczasową licencję
Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować Aspose.Drawing for .NET bez ograniczeń ewaluacyjnych.
Aspose.Drawing — bezpłatne zasoby edukacyjne
Oprócz przycinania obrazu w języku C# możesz dowiedzieć się więcej o różnych funkcjach biblioteki, korzystając z poniższych zasobów:
- Podręcznik programisty Aspose.Drawing
- Darmowe aplikacje internetowe
- Odniesienie do interfejsu API
- Poradniki i artykuły
Wniosek
W tym artykule dowiedzieliśmy się, jak zaimplementować przycinanie obrazu w języku C#. Postępując zgodnie z instrukcjami krok po kroku i przykładami kodu, możesz łatwo i precyzyjnie wyodrębniać obiekty z obrazów. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym darmowym forum pomocy.