Wie erstellen Sie eine Ellipse, um Pixel in einem Bild mit Imagesharp transparent zu machen?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie erstellen Sie eine Ellipse, um Pixel in einem Bild mit Imagesharp transparent zu machen?

Post by Anonymous »

Ich versuche, die Imagesharp -Bibliothek zu verwenden, um einen Kreis innerhalb eines Bildes zu definieren - und alle Pixel innerhalb oder außerhalb des Kreises transparent zu machen. Mein Code ist: < /p>

Code: Select all

@using System;
@using System.Numerics;
@using SixLabors.ImageSharp;
@using SixLabors.ImageSharp.Metadata;
@using SixLabors.ImageSharp.PixelFormats;
@using SixLabors.ImageSharp.Processing;
@using SixLabors.ImageSharp.Processing.Processors;
@using SixLabors.ImageSharp.Formats;
@using SixLabors.ImageSharp.Formats.Png;
@using SixLabors.ImageSharp.Drawing;

private async Task ApplyCircularMask()
{

using var memoryStream = new MemoryStream(originalImageData);  // originalImageData must be static or passed in
using (Image image = Image.Load(memoryStream))
{
int diameter = Math.Min(image.Width, image.Height);
var center = new PointF(image.Width / 2, image.Height / 2);
var ellipse = new  EllipsePolygon(center.X, center.Y, diameter / 2, diameter / 2);
// Create a mask where the ellipse is filled and everything else is transparent
image.Mutate(x => x.Fill(new GraphicsOptions
{
Antialias = true,
AlphaCompositionMode = PixelAlphaCompositionMode.DestOut
}, Rgba32.Transparent, ellipse));
< /code>
Ich erhalte jedoch die Fehler: < /p>

'RGBA32' enthält keine Definition für 'transparent' < /p>
< /blockquote>
...And...

'IimageProcessingContext' enthält keine Definition für 'FILL' und keine zugängliche Erweiterungsmethode 'FILL', die ein erstes Argument vom Typ 'iImageprocessingContext' akzeptiert. Datei: < /p>


Irgendwelche Ideen, was ich vielleicht falsch mache, bitte?
Danke, Mark

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post