Browse Source

Added a function to RenderTargetBitmap to create a DrawingContext for editing the current image data and not clearing it.

pull/12793/head
Paisley 2 years ago
parent
commit
9e94055bc1
  1. 6
      api/Avalonia.nupkg.xml
  2. 19
      src/Avalonia.Base/Media/Imaging/RenderTargetBitmap.cs

6
api/Avalonia.nupkg.xml

@ -1,12 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- https://learn.microsoft.com/en-us/dotnet/fundamentals/package-validation/diagnostic-ids -->
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:Avalonia.Media.Imaging.RenderTargetBitmap.CreateDrawingContext</Target>
<Left>baseline/netstandard2.0/Avalonia.Base.dll</Left>
<Right>target/netstandard2.0/Avalonia.Base.dll</Right>
</Suppression>
<Suppression>
<DiagnosticId>CP0006</DiagnosticId>
<Target>P:Avalonia.Rendering.Composition.ICompositionGpuImportedObject.ImportCompleted</Target>

19
src/Avalonia.Base/Media/Imaging/RenderTargetBitmap.cs

@ -63,15 +63,24 @@ namespace Avalonia.Media.Imaging
}
/// <summary>
/// Creates a <see cref="DrawingContext"/> for drawing to the <see cref="RenderTargetBitmap"/>.
/// Creates a <see cref="DrawingContext"/> for drawing to the <see cref="RenderTargetBitmap"/>.
/// Clears the current image data to transparent.
/// </summary>
/// <param name="clear">Indicates if the image should be cleared.</param>
/// <returns>The drawing context.</returns>
public DrawingContext CreateDrawingContext(bool clear = true)
public DrawingContext CreateDrawingContext()
{
var platform = PlatformImpl.Item.CreateDrawingContext();
platform.Clear(Colors.Transparent);
return new PlatformDrawingContext(platform);
}
/// <summary>
/// Creates a <see cref="DrawingContext"/> for editing the already existing image in the <see cref="RenderTargetBitmap"/>.
/// </summary>
/// <returns>The drawing context.</returns>
public DrawingContext CreateEditDrawingContext()
{
var platform = PlatformImpl.Item.CreateDrawingContext();
if(clear)
platform.Clear(Colors.Transparent);
return new PlatformDrawingContext(platform);
}

Loading…
Cancel
Save