Stefan Nikolei
eb549bcda3
Use Collection expressions and Target-typed new
1. Collection expressions (`[]` syntax) replacing `new List<T>()`, `new T[] {}`, `.ToArray()`, etc.
2. Target-typed `new()` expressions where appropriate
3. Using spread elements (`[.. collection]`) instead of `.ToArray()` and `.Concat().ToArray()`
4. Adding `#pragma warning disable/restore CS0649` for intentionally unassigned struct fields
2 weeks ago
James Jackson-South
3d89f941d4
Fix degeneracy check for resize transforms
Use exact zero determinant checks in `TransformUtilities.IsDegenerate` for `Matrix3x2` and `Matrix4x4` instead of epsilon-based near-zero detection, preventing valid transforms from being treated as degenerate during extreme downscales. Added a regression test for issue #3156 to verify resizing large square images (1024/2048) to 1x1 succeeds and preserves the expected pixel.
1 month ago
James Jackson-South
3d3f49fab8
Refine alpha conversion and AOT seeding
Introduce explicit associated/unassociated pixel conversion APIs across `IPixel` and `PixelOperations`, and rework associated-alpha operations to use representation-aware bulk hooks. Update pixel implementations, converters, blenders, and generated code to consistently apply `Premultiply`/`UnPremultiply` semantics, plus SIMD-backed conversion paths for half and signed formats.
Fix codec and processing behavior where alpha handling was incorrect or lossy (notably TIFF/EXR decode/encode, convolution/resize/filter/normalization/dithering paths), and add targeted tests for these cases. Expand AOT compiler roots (including EXR and additional pixel/processor coverage), add a new public API test project for pixel-operations extensibility, and add broad alpha-representation and quantization regression coverage.
2 months ago
James Jackson-South
6fd20f5817
Fix precision loss.
7 months ago
James Jackson-South
2577046429
Fix #3000
10 months ago
Stefan Nikolei
5de26525fe
Convert CodeBase to collection Expressions
1 year ago
Stefan Nikolei
18b8b662e9
Use Target Type new only when apparent
1 year ago
Stefan Nikolei
57f5966fe7
use Explicit Types and Target Type new
1 year ago
James Jackson-South
668e223fa1
Update Subject EXIF metadata when transforming images.
1 year ago
James Jackson-South
a3d605d284
Fix API changes following merge
1 year ago
James Jackson-South
4728b97d85
Use dedicated property
2 years ago
James Jackson-South
cd1b77a88f
Reimplement @Sergio0694 work.
2 years ago
James Jackson-South
e1555fd4ba
Fix transform bounds calculations
2 years ago
James Jackson-South
ac5ace789c
Update tests
2 years ago
James Jackson-South
0103d81d96
Fix off-by-one error when centering a transform.
2 years ago
James Jackson-South
dfd983f17c
Update library to use new pixel API
3 years ago
Günther Foidl
f746e686df
PR feedback + use nuint instead of nint
4 years ago
Stefan Nikolei
b661c07744
Remove mac specific skips
4 years ago
James Jackson-South
96a22c40ad
Remove IImageInfo, IImage and use inheritance.
4 years ago
James Jackson-South
f421701333
Refactor Load APIs
4 years ago
James Jackson-South
0e9a066195
FS Namespaces and Implicit Global Usings
4 years ago
James Jackson-South
97baeaf438
Update all files
4 years ago
Mike Irving
7be52e1325
naming corrections - macOS and .NET
5 years ago
James Jackson-South
0197de6f6c
Update tests
5 years ago
James Jackson-South
7ca5680cd2
Allow pad to work for non-alpha pixel formats
5 years ago
James Jackson-South
d8372568e0
Convert OrientationMode into something usable.
5 years ago
James Jackson-South
05e8d16b3b
Update tests
5 years ago
Anton Firszov
1699a7578f
fix #1625
5 years ago
James Jackson-South
b97ac35d5b
Apply fix and tests
5 years ago
Anton Firszov
bfcb1be7d1
Logging made optional in TestMemoryAllocator
5 years ago
Anton Firszov
e1f15bc626
TryGetSinglePixelSpan -> DangerousTryGetSinglePixelMemory
5 years ago
James Jackson-South
27e6b58643
Final final warnings
5 years ago
Anton Firszov
06566c5ab3
Resize: do not premultiply pixels with no alpha
5 years ago
Anton Firszov
7c1a1afc61
UniformUnmanagedMemoryPoolMemoryAllocator
5 years ago
James Jackson-South
87aec89f25
Use GreatestCommonDivisor. Fix #1616
5 years ago
Brian Popow
e06481c92b
Add additional test categories
5 years ago
James Jackson-South
dc0982f186
Faster Linear Transforms ( #1591 )
* Attempt to use same weight generation algorithm as resize.
* tests pass
* Identical output
* Update LinearTransformKernelFactory{TResampler}.cs
* Use new low allocation iterator
* Migrate projective transforms.
* Optimizations
* Smaller kernel
* Fix sampling accuracy
* Finalize and update refs
* Revert unnecessary changes
* Remove enumerator
* Actually save output for debugging.
* Use custom test png encoder for reduced memory environments
* Convolution should use scaled vectors
* Update TestEnvironmentTests.cs
* Try using doubles
* Moar double precision
* Fix radius calculation
* Test if issue is SIMD related.
* Detect runtime to determine pipeline.
* Fix stack overflow
* fix condition
* Try simplified scalar run
* Simplify unpremultiply scalar
* Update Numerics.cs
* Fix runtime environment
* Update ImageSharp.csproj
* Duplicate the caller with scalar versions
* Update method name, exclude from coverage.
* Don't save output during coverage tests for perf.
* Update src/ImageSharp/Common/Helpers/RuntimeEnvironment.cs
Co-authored-by: Anton Firszov <antonfir@gmail.com>
Co-authored-by: Anton Firszov <antonfir@gmail.com>
5 years ago
Sergio Pedri
8c7019e41e
Update image threshold for resize tests
6 years ago
Petar Tasev
0df047222b
Add PremultiplyAlpha to ResizeOptions
6 years ago
Amaury Levé
1547379bdd
Forgot to commit tests
6 years ago
Amaury Levé
1412942751
Apply suggested change for test
Avoid relying on the submodule change by implementing the invert swizzle operation
6 years ago
Evangelink
a665bce50e
Update integration tests
6 years ago
Evangelink
a5e9694667
More progress toward a working swizzler
6 years ago
James Jackson-South
12a62739f3
Bump tolerance
6 years ago
James Jackson-South
46f47eb97b
Use higher tolerance on macOS CI runs
6 years ago
James Jackson-South
204951d4db
Enable resize tests
6 years ago
AlexNDRmac
7bbd678541
Decorate OSX specific tests
6 years ago
James Jackson-South
dd66efa5d8
Use interest for target bounds. Fixes #1342
6 years ago
James Jackson-South
874115bd0a
Update license
6 years ago
James Jackson-South
9924470a1c
Ensure min dimension of 1px following rounding. Fix #1195
6 years ago