James Jackson-South
2ffa9fb07b
Add binary16 pixel formats and scaling fixes
Introduces `RgbaHalf` and `RgbaHalfP` plus bulk pixel-operation support, updates AOT seeding, and routes EXR decoding through the new scaled conversions. Also fixes scaled/native range handling for half, SNORM, and signed integer pixel formats, and expands tests for the new layouts and edge cases.
2 days 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 days ago
James Jackson-South
c4683902a4
Add associated-alpha pixel formats
Introduce Rgba32P, Bgra32P, Argb32P, Abgr32P, NormalizedByte4P, and HalfVector4P.
Add representation-aware scalar and bulk conversions, optimized pixel operations, and associated-alpha blending across all Porter-Duff modes. Include comprehensive conversion, layout, blending, and performance coverage.
4 days 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
fb50f5be71
Replace old converter
2 years ago
James Jackson-South
8af75fe0d4
Restore GetPixelTypeInfo
3 years ago
James Jackson-South
dfd983f17c
Update library to use new pixel API
3 years ago
Stefan Nikolei
b52ef56181
Promote PixelTypeInfo to TPixel
Fixes #2534
3 years ago
Günther Foidl
f746e686df
PR feedback + use nuint instead of nint
3 years ago
Günther Foidl
1920e28ed0
Revised Unsafe.Add to avoid the sign-extending move
3 years ago
James Jackson-South
0e9a066195
FS Namespaces and Implicit Global Usings
4 years ago
Dirk Lemstra
f9c9a019d1
Removed unused argument.
4 years ago
James Jackson-South
6fc84a82f6
Remove other obsolete conditions and warnings
4 years ago
James Jackson-South
97baeaf438
Update all files
4 years ago
James Jackson-South
666ae9eb02
Ensure PixelOperations.To(TPixel) uses scaling.
4 years ago
Ynse Hoornenborg
c6f9050a5e
Initial Abgr32 pixel format implementation
5 years ago
Brian Popow
b49313e1dc
Use StringComparison.Ordinal and fix some minor warnings
5 years ago
James Jackson-South
4fa43bffd2
Update PixelOperationsTests.cs
6 years ago
James Jackson-South
933bb466ce
Alter 32bit test environment accuracy check.
6 years ago
James Jackson-South
016de29898
Fix alpha companding.
6 years ago
Anton Firszov
dd0447ef4c
entry API & tests
6 years ago
Brian Popow
074d1a6a12
Add xunit trait attributes to tests
6 years ago
James Jackson-South
8d3cddab30
No more Vector4Utils & ImageMath
6 years ago
James Jackson-South
f66fe45ac1
Utils FTW
6 years ago
James Jackson-South
b1eb8fac00
Move property to base.
6 years ago
James Jackson-South
20c598cb1f
Update tests
6 years ago
James Jackson-South
36ebc4513d
Fix Short4 and tests
6 years ago
James Jackson-South
6a3411ed6b
Add new property and implement for TPixel types
6 years ago
James Jackson-South
874115bd0a
Update license
6 years ago
James Jackson-South
6183dd8c13
Update source license info.
6 years ago
James Jackson-South
f2aa2a7965
Replace Vector4.Clamp
6 years ago
Sergio Pedri
94c4660d10
Switched pixel format type constraint to unmanaged
6 years ago
James Jackson-South
8cd722cfc5
Revert `using` declaration changes for until we establish guidelines.
7 years ago
Brian Popow
f60bc937de
Use using declarations to reduce nesting
7 years ago
Brian Popow
7b052c8076
Fix stylecop warnings in the test project
7 years ago
Anton Firszov
c52674b375
update xunit & workaround conversion issues
7 years ago
James Jackson-South
60fed0c244
Add pixeloperations tests for new pixel formats
7 years ago
James Jackson-South
d2a4f97225
Add Bgra5551 pixeloperations plus tests.
7 years ago
James Jackson-South
895c7f584b
Gray16 => L16
7 years ago
James Jackson-South
a35b73245a
Gray8 => L8
7 years ago
Simon Cropp
bcbd4726a6
use var where apparent ( #972 )
* use var where apparent
* use var where apparent
* should use Rgb24
7 years ago
Simon Cropp
30804cfefd
remove unused variables and methods ( #963 )
* remove unused variables and methods
* remove some redundant variables
* remove some redundant variables
* redundant variables
* Update DrawTextOnImageTests.cs
* Minor optimizations
* cleanup
7 years ago
Simon Cropp
2c04d6b036
redundant usings ( #960 )
7 years ago
Anton Firsov
96c3bbff79
Introduce non-generic ImageFrameCollection ( #941 )
* temporarily disable target frameworks
* drop DelegateProcessor
* drop IImageProcessingContext<TPixel>
* drop NamedColors<T>
* drop ColorBuilder<T>
* drop the *Base postfix for clean class hierarchies
* adding basic skeletons
* non-generic ImageFrameCollection API definition
* non-generic ImageFrameCollection tests
* cleanup + docs + more tests
* implement ImageFrameCollection methods
* tests for generic PixelOperations.To<TDest>()
* experimental implementation
* fix .ttinclude
* generate generic From<TSourcePixel>(...)
* fix RgbaVector <--> BT709 Gray pixel conversion
* Gray8 and Gray16 using ConvertFromRgbaScaledVector4() by default
* fixed all conversion tests
* ConstructGif_FromDifferentPixelTypes
* fix xmldoc and other StyelCop findings
* re-enable all target frameworks
* fix NonGenericAddFrame() and NonGenericInsertFrame()
* fix remaining bugs
7 years ago
Anton Firszov
3c0d9bb487
PixelConversionModifierExtensions.ApplyCompanding() + tests
7 years ago
Anton Firszov
86ce62ed2c
rename FromVector4(...) to FromVector4Destructive(...)
7 years ago
Anton Firszov
c88f8707e9
Optimization: omit premultiplication for Bgr24 and Rgb24
7 years ago
Anton Firszov
fd3d76e78e
Inlining temporary compatibility methods (FromScaledVector4, ToScaledVector4)
7 years ago