Browse Source

Merge branch 'master' into bitconverter-uint64-readfix

af/merge-core
James Jackson-South 8 years ago
committed by GitHub
parent
commit
3f5fbdb99c
  1. 9
      src/ImageSharp/Image/ImageFrameCollection.cs
  2. 9
      src/ImageSharp/Image/Image{TPixel}.cs
  3. 2
      tests/CodeCoverage/CodeCoverage.cmd

9
src/ImageSharp/Image/ImageFrameCollection.cs

@ -24,7 +24,9 @@ namespace SixLabors.ImageSharp
Guard.NotNull(parent, nameof(parent));
this.parent = parent;
this.AddFrame(new ImageFrame<TPixel>(width, height));
// Frames are already cloned within the caller
this.frames.Add(new ImageFrame<TPixel>(width, height));
}
internal ImageFrameCollection(Image<TPixel> parent, IEnumerable<ImageFrame<TPixel>> frames)
@ -33,9 +35,12 @@ namespace SixLabors.ImageSharp
Guard.NotNullOrEmpty(frames, nameof(frames));
this.parent = parent;
// Frames are already cloned by the caller
foreach (ImageFrame<TPixel> f in frames)
{
this.AddFrame(f);
this.ValidateFrame(f);
this.frames.Add(f);
}
}

9
src/ImageSharp/Image/Image{TPixel}.cs

@ -143,9 +143,8 @@ namespace SixLabors.ImageSharp
/// <returns>Returns a new image with all the same metadata as the original.</returns>
public Image<TPixel> Clone()
{
IEnumerable<ImageFrame<TPixel>> frames = this.frames.Select(x => x.Clone()).ToArray();
return new Image<TPixel>(this.configuration, this.MetaData.Clone(), frames);
IEnumerable<ImageFrame<TPixel>> clonedFrames = this.frames.Select(x => x.Clone());
return new Image<TPixel>(this.configuration, this.MetaData.Clone(), clonedFrames);
}
/// <inheritdoc/>
@ -162,8 +161,8 @@ namespace SixLabors.ImageSharp
public Image<TPixel2> CloneAs<TPixel2>()
where TPixel2 : struct, IPixel<TPixel2>
{
IEnumerable<ImageFrame<TPixel2>> frames = this.frames.Select(x => x.CloneAs<TPixel2>()).ToArray();
var target = new Image<TPixel2>(this.configuration, this.MetaData, frames);
IEnumerable<ImageFrame<TPixel2>> clonedFrames = this.frames.Select(x => x.CloneAs<TPixel2>());
var target = new Image<TPixel2>(this.configuration, this.MetaData.Clone(), clonedFrames);
return target;
}

2
tests/CodeCoverage/CodeCoverage.cmd

@ -9,6 +9,8 @@ cd ..
cd ..
dotnet restore ImageSharp.sln
rem Clean the solution to force a rebuild with /p:codecov=true
dotnet clean ImageSharp.sln -c Release
rem The -threshold options prevents this taking ages...
tests\CodeCoverage\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"dotnet.exe" -targetargs:"test tests\ImageSharp.Tests\ImageSharp.Tests.csproj -c Release /p:codecov=true" -register:user -threshold:10 -oldStyle -safemode:off -output:.\ImageSharp.Coverage.xml -hideskipped:All -returntargetcode -filter:"+[SixLabors.ImageSharp*]*"

Loading…
Cancel
Save