Przycinanie obrazu w C#

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:

  1. Interfejs API przycinania obrazów w języku C# — bezpłatne pobieranie
  2. Jak zaimplementować przycinanie obrazu w języku C#
  3. Wyodrębnij obiekt z obrazu w C#
  4. 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:

  1. Najpierw utwórz instancję klasy Bitmap.
  2. Następnie utwórz obiekt klasy Graphics przy użyciu metody FromImage().
  3. Następnie zdefiniuj ścieżkę klipu przy użyciu klasy GraphicsPath.
  4. Następnie ustaw ścieżkę klipu za pomocą metody SetClip().
  5. 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");
Przycinanie obrazu C#

Przycinanie obrazu C#

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");
Wyodrębnij obiekt z obrazu w C#

Wyodrębnij obiekt z obrazu w C#

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:

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.

Zobacz też