mirror of https://github.com/SixLabors/ImageSharp
9 changed files with 109 additions and 49 deletions
@ -0,0 +1,52 @@ |
|||||
|
// Copyright (c) Six Labors and contributors.
|
||||
|
// Licensed under the Apache License, Version 2.0.
|
||||
|
|
||||
|
using SixLabors.ImageSharp.PixelFormats; |
||||
|
using SixLabors.ImageSharp.Processing; |
||||
|
using SixLabors.ImageSharp.Processing.Drawing; |
||||
|
|
||||
|
using Xunit; |
||||
|
|
||||
|
namespace SixLabors.ImageSharp.Tests.PixelFormats.PixelBlenders |
||||
|
{ |
||||
|
public class PorterDuffCompositorTests |
||||
|
{ |
||||
|
// TODO: Add other modes to compare.
|
||||
|
private static PixelBlenderMode[] CompositingOperators = |
||||
|
{ |
||||
|
PixelBlenderMode.Src, |
||||
|
PixelBlenderMode.Atop, |
||||
|
PixelBlenderMode.Over, |
||||
|
PixelBlenderMode.In, |
||||
|
PixelBlenderMode.Out, |
||||
|
PixelBlenderMode.Dest, |
||||
|
PixelBlenderMode.DestAtop, |
||||
|
PixelBlenderMode.DestOver, |
||||
|
PixelBlenderMode.DestIn, |
||||
|
PixelBlenderMode.DestOut, |
||||
|
PixelBlenderMode.Clear, |
||||
|
PixelBlenderMode.Xor |
||||
|
}; |
||||
|
|
||||
|
[Fact] |
||||
|
public void PorterDuffOutputIsCorrect() |
||||
|
{ |
||||
|
string path = TestEnvironment.CreateOutputDirectory("PorterDuff"); |
||||
|
var srcFile = TestFile.Create(TestImages.Png.PDSrc); |
||||
|
var destFile = TestFile.Create(TestImages.Png.PDDest); |
||||
|
|
||||
|
using (Image<Rgba32> src = srcFile.CreateImage()) |
||||
|
using (Image<Rgba32> dest = destFile.CreateImage()) |
||||
|
{ |
||||
|
foreach (PixelBlenderMode m in CompositingOperators) |
||||
|
{ |
||||
|
using (Image<Rgba32> res = dest.Clone(x => x.Blend(src, new GraphicsOptions { BlenderMode = m }))) |
||||
|
{ |
||||
|
// TODO: Generate reference files once this works.
|
||||
|
res.Save($"{path}/{m}.png"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,3 @@ |
|||||
|
version https://git-lfs.github.com/spec/v1 |
||||
|
oid sha256:adb9f4448b7bb44d7b4c0ad8c2f3f71b17acb05148375663c7a203707f08660d |
||||
|
size 2563 |
||||
@ -0,0 +1,3 @@ |
|||||
|
version https://git-lfs.github.com/spec/v1 |
||||
|
oid sha256:dbf4a45b89eddeb727e0437846bcef5d875f532f94aaa441c75c8c3ddbac5150 |
||||
|
size 2393 |
||||
Loading…
Reference in new issue