James Jackson-South
d7eeb2f7ca
Allow custom configuration. Fix #650
6 years ago
James Jackson-South
22151ad44a
Normalize GraphicsOptions parameter position
6 years ago
James Jackson-South
0bdf30674d
Fix MemoryAllocator access.
6 years ago
James Jackson-South
516f6df6f5
Fix ImageFrame.Configuration
6 years ago
James Jackson-South
22cc449d3e
Fix span access
6 years ago
Anton Firszov
7c45f467d5
expose ParallelExecutionSettings and ParallelHelper, fix MaxDegreeOfParallelism
6 years ago
Anton Firszov
88de2d9048
publish ParallelHelper and RowInterval API-s
6 years ago
James Jackson-South
1796862302
Make processors public, refactor cloning.
7 years ago
James Jackson-South
f5c9814a00
Expose visitor through advanced namespace.
7 years ago
Turnerj
bec033603e
Fix horizontally out-of-bounds error when drawing text
7 years ago
Sergio Pedri
13989ac126
Processors refactoring ( #983 )
* Added new properties to ImageProcessor<TPixel>
* Fixed constructors for convolution processors
* Fixed constructors for binarization processors
* Fixed constructor for dithering processor
* Fixed constructors for effects processors
* Fixed constructor for filter processor
* Fixed constructor for normalization processor
* Fixed constructors for overlay processors
* Fixed constructor for quantization processor
* Fixed constructors for transforms processors
* Updated CreatePixelSpecificProcessor<TPixel> definition
* Fixed convolution processors creation
* Fixed leftover dithering processor constructor
* Fixed another leftover dithering processor constructor
* Fixed dithering processors creation
* Fixed effects processors creation
* Fixed filters processor
* Fixed normalization processors creation
* Fixed overlays processors creation
* Fixed quantizer processor creation
* Fixed constructors for some remaining processors
* Fixed transform processors creation
* ImageProcessor class refactored
* Renamed some parameters
* Convolution processors refactored
* Refactored filters and dithering processors
* Refactored normalization processors
* Overlays processors refactored
* Renamed some parameters
* CloningImageProcessor class refactored
* Transforms processors refactored
* Updated DefaultImageProcessingContext class
* Src builds, tests still require updating.
* Fix tests
* Removed unnecessary local variable
7 years ago
Simon Cropp
6f1134102c
Cleanup ( #965 )
* redundant ()
* redundant stirng interpolation
* use method groups
* redundant unsafe
* redundant qualifiers
* redundant ()
* redundant init
* redundant init
* redundant casts
* redundant casts
7 years ago
Jason Heard
724c26a50d
Add possible fix
7 years ago
Simon Cropp
edeaf7d9a6
redundant usings ( #960 )
7 years ago
Simon Cropp
2734847e2e
fix some spelling ( #957 )
* fix some spelling
* more typos
* more typos
* more typos
* more typos
* more typos
* linearSegment
7 years ago
James Jackson-South
7196b43fb7
Master cleanup ( #952 )
* Fix gitignore and line endings
* Update README.md
7 years ago
Anton Firszov
b7dadca8b0
clean-up drawing processors
7 years ago
Anton Firszov
0bd86ddcb6
non-generic DrawImageProcessor
7 years ago
Anton Firszov
f0b70b63ef
tests are passing
7 years ago
Anton Firszov
73f9116a46
Pen, Brush & Processors refactored
7 years ago
Anthony Truskinger
ff269db0bd
Now throws a better excpetion DrawImage source does not overlap target ( #877 )
* No longer throws when DrawImage source does not overlap target
Previously, when DrawImage was used to overlay an image, in cases where the source image did not overlap the target image, a very confusing error was reported: "System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: MaxDegreeOfParallelism"
Now, when this case happens, the DrawImage method will simply not affect the target image, which is the same way FillRegionProcessor handles such cases.
ParallelHelper.IterRows also now does more validation of the input rectangle so that any further cases of this kind of problem throw a more relvant exception. Note I switched from DebugGuard to Guard because IterRows is a public API and thus should always validate its inputs.
Fixes #875
* Refines DrawImage non-overlap error logic
Adresses PR feedback in #877 .
Changes DrawImage shortcut to be less than or equal to. Also changes maxX calculation to use `Right` over `Width`. This is a semantic change that reflects intention better. No actual change because Top,Left for that rectanngle should always be 0,0.
And adds more informative argument names to ParallelHelper.IterRows error message.
* Non-overlapping DrawImage now throws
Adressing PR feedback from #877
DrawImage now throws when the source image does not overlap, with a useful error message.
Also improved the error messages for IterRows (and added validation to the other IterRows method)
* DrawImage overlap test changed to support RELEASE
The tests on the CI server are run in RELEASE which wrap the expected exception with an ImageProcessingException.
* Adress feedback for DrawImage exception
DrawImage throws an ImageProcessor exception which makes it easier to catch.
And reverted IterRows to use Guard helpers
7 years ago
Curtis Wensley
8073404c77
Check for solid brush outside of loops
7 years ago
Curtis Wensley
0ac969a711
Optimize filling a region with a solid brush when antialias is off
7 years ago
Peter Amrehn
df155496b7
inline variable
7 years ago
Peter Amrehn
9e006c734e
fix typos in comments
7 years ago
Anton Firszov
381f83d543
Improve text rendering accuracy
7 years ago
Anton Firszov
190d133b2c
fix typos & cleanup
7 years ago
Scott Williams
f8f7a0655c
prevent text wandering from baseline
7 years ago
Anton Firszov
ca60ecf7f4
pass Configuration to Vector4 converters in PixelOperations
7 years ago
Anton Firszov
0c42925a05
fix typo, improve DivideCeil
7 years ago
Anton Firszov
38cb7871a1
ParallelHelper -> FillProcessor
8 years ago
Anton Firszov
f0cda4387b
DrawImageProcessor + formatting
8 years ago
Vicente Penades
002fc64566
reverted some changes from using DebugGuard
replaced *Vector with *ScaledVector conversion methods
8 years ago
Vicente Penades
80a27b629a
expanding blocks...
8 years ago
Vicente Penades
029b35cd0c
trying to improve Opacity out of range propagation.
For some reason, FillRegionProcessor and DrawTextProcessor where overshooting opacity over 1
8 years ago
Vicente Penades
112262a606
Refactored PixelBlenders so it generates much less code and allows for two loop variations.
Generalised DrawingImage methods to support drawing images with a format different than the destination image at no cost.
8 years ago
Vicente Penades
d4ca89027b
Refactored IsSolidBrushWithoutBlending into GraphicsOptions so it can be called from more places, and also allows for specific tests.
8 years ago
Vicente Penades
1035f23908
rearranged DrawImage method arguments. Fixed tests accordingly
8 years ago
Vicente Penades
c3a325b685
refactored DrawImageProcessor methods
8 years ago
Vicente Penades
b189ff7746
Split PixelBlendMode enumeration into PixelColorBlendingMode and PixelAlphaCompositionMode
8 years ago
Jason Nelson
633a8ce503
Replace == null with is null
8 years ago
Anton Firszov
b0c2ccb26f
Replace Configuration.ParallelOptions with Configuration.MaxDegreeOfParallelism
8 years ago
Anton Firszov
968a9cb186
Move ImageSharp-specific memory primitives and utils to SixLabors.ImageSharp.Memory
8 years ago
Anton Firszov
80a7b9f14a
replace IBuffer<T> with IMemoryOwner<T>
8 years ago
Dirk Lemstra
f0926bbaab
Changed clean boolean for allocation into an enumeration.
8 years ago
James Jackson-South
d6944d5a6a
Simplify drawing namespaces.
8 years ago