Scott Williams
ec2503c2e4
wip - pixel data only on image frames
9 years ago
Scott Williams
bc6f6d61a6
cleanup drawing namespace
9 years ago
James Jackson-South
5edcbb5b47
Remove ParallelOptions from IImageProcessor
9 years ago
Scott Williams
872ca973de
inital rename packages and namespaces
9 years ago
Scott Williams
7f8d10c89a
migrate to use primitives from SixLabors.Core
9 years ago
James Jackson-South
e768b09198
Internalize PixelAccessor
9 years ago
James Jackson-South
9984ffa348
Replace BufferSpan<T> with Span<T>
- Add System.Memory
- Update System.Runtime.CompilerServices.Unsafe
- Move memory classes/structs to ImageSharp.Memory
- Replace BufferSpan<T> with Span<T> and adjust methods accordingly
9 years ago
Scott Williams
acc0fa9711
blend functions everywhere.
9 years ago
Scott Williams
0d8eb2032c
initial blender implementations
9 years ago
James Jackson-South
7d2fe2c7e5
Move IPixel types to PixelFormat namespace
9 years ago
James Jackson-South
fff223ef07
Rename TColor to TPixel
9 years ago
James Jackson-South
b839b2ce62
Make all processors internal
9 years ago
James Jackson-South
73a88cf853
Move all drawing code into drawing project
9 years ago
Scott Williams
3b59b02488
consolidate packages
9 years ago
Anton Firszov
1125edcef8
IPixel
9 years ago
Scott Williams
b8de058453
added IRegion and droped use of vectors in brushes
9 years ago
Scott Williams
df0775b732
code cleanup and comments
10 years ago
Scott Williams
9ae9041c8d
use abstract base class instead of interface
10 years ago
Scott Williams
11236a55f6
Put processors folder/namespace back
10 years ago
Scott Williams
8a916f453d
fix namespaces
10 years ago
Scott Williams
7570c3a278
migrate processors
10 years ago
Scott Williams
78359860ff
Split Drawing from Core
10 years ago
James Jackson-South
f59de118ff
Fix Tests
Merge IImageFilteringProcessor with IImageProcessor to simplify
encapsulation and allow easy setting of parallel options
10 years ago
Scott Williams
5f5dffc700
Add a recolor brush
10 years ago
James Jackson-South
7e048ed506
Merging into master
10 years ago
James Jackson-South
a404a3646d
Remove TPacked from generic signature
10 years ago
James Jackson-South
9afc73d2b4
Update TPacked signature
Removes boxing allocation when comparing generic packed value.
10 years ago
Scott Williams
3f0f39c1bc
Add drawing methods.
Adds a 4 `IPath`s;
- `Path` : a generic open path described by an arbitrary collection of `ILineSegments` which are closed.
- `Polygon` : a generic closed path described by an arbitrary collection of `ILineSegments` which are closed.
Adds 2 `ILineSegment`s;
- `LinearLineSegment` : a segment made up of control points representing straight lines.
- `BezierLineSegment` : a path made up of control points describing a bezier path.
Adds 4 `IShape`s
- `Polygon` : a generic closed path described by an arbitrary collection of `ILineSegments` which are closed.
- `LinearPolygon` : a shape made up of control points representing straight lines.
- `BezierPolygon` : a shape made up of control points describing a set of bezier curves which are closed by a straight line
- `ComplexPolygon` : a polygon described by one or more `IShape`s as either outlines or holes.
All `IShape`s can be represents as a collection of `IPath`.
Adds 2 `IBrush`s
- `SolidBrush` : described by a `TColor`
- `Patternbrush` : described by a foreground and background `TColor` and a pattern.
Adds 1 `IPen`:
- `Pen` : described by an `IBrush` a width/thickness to draw the line and an optional pattern.
Adds 3 Image Processors
- `FillProcessor` : flood fills the image with an `IBrush`.
- `FillShapeProcessor` : flood fills inside an `IShape`.
- `DrawPathProcessor` : draws a collection of `IPath`s or and `IShape`s onto the image using an `IPen` to determine `TColor`.
Adds a multitude of Image Extensions for accessing the above processors in a manor similar to `System.Drawing`
10 years ago
James Jackson-South
4f5fd68f55
Simplify filter API further
No need for startY, endY parameters.
10 years ago
James Jackson-South
128a0f24b6
Fix blending on #14
ALso impove glow, vignette and background color.
10 years ago
James Jackson-South
e4d76533ea
Normalize naming and organize locations
10 years ago
dirk
3f7d80ddb7
Fixed reference in comments.
10 years ago
dirk
5e6f379562
Changed PixelAccessor to use IPackedPixel<TPacked>.
10 years ago
James Jackson-South
a57c90d94b
Rename to ImageSharp
10 years ago
dirk
a27f4b953b
Enforce struct on TColor
Former-commit-id: c22a93c67274e1ab495ffa6a85d6c7cb95688974
Former-commit-id: 12a03f05c3c0137240006e978a573e5ff0746ce4
Former-commit-id: 78b186b3d54015644377e55314c070c84debfb25
10 years ago
James Jackson-South
654af81258
Revert "Enforce struct on TColor"
This reverts commit c6a36c9427 [formerly 1e48873bd7609b2ecd1b33158ae1f7d3f9d517e0] [formerly 5ee53a5681d546619d3fabaf65d343e20d025b58] [formerly 0de461016f83628673d07d18a2f2a402082f47b2].
Former-commit-id: d0b4d2efc7bae39501eb4d0ed8f130f0185d0b1c
Former-commit-id: 6cb6f17122c793f01a7ea53f9dbe24d10fd02970
Former-commit-id: 1006885854cb5e74f5b53eddd803a531327a872c
10 years ago
James Jackson-South
13c865ca18
Enforce struct on TColor
Former-commit-id: 0de461016f83628673d07d18a2f2a402082f47b2
Former-commit-id: 5ee53a5681d546619d3fabaf65d343e20d025b58
Former-commit-id: 1e48873bd7609b2ecd1b33158ae1f7d3f9d517e0
10 years ago
James Jackson-South
5cd6d2de08
Remove progress event handler.
It was useless once multiple processors were combined and also hurt
performance.
Former-commit-id: 639ea64d56094dbaed1cfb94cdc154d5439fc446
Former-commit-id: 9cf0ff1d972ff903bc14c8121c2feb15fcbcd690
Former-commit-id: 04da60830efe9a6d774e0f80431592c9c53f1841
10 years ago
James Jackson-South
8c84d41b26
Don't create a copy if you dont need to.
ImageFilter = NoCopy
ImageSampler = Copy
Former-commit-id: 530cc95d3b655175999dc78d95fea988f25416e6
Former-commit-id: 63650e982a0a2bb116a473816692187b186a4d0f
Former-commit-id: fe8e7020aa116899a2ae1620b4c78b446a3510e7
10 years ago
James Jackson-South
b57677b16c
Revert Unsafe.Copy and cleanup
Former-commit-id: 401fa40681eb231eabcfe11f5115c05404c84498
Former-commit-id: 160012def06309092c8ee00cba8fa99a53f83ebf
Former-commit-id: bf644e6660e40cb25e20de9058bc181284730409
10 years ago
James Jackson-South
7c624d0b27
Use PixelAcessor<TColor, TPacked> #457
Former-commit-id: 38a4a37351b55ae4027064c96983460a440140b8
Former-commit-id: db9a4f0f2ce7930ae633e3a7ceee0fab7f5db464
Former-commit-id: 34289d7967ca5c8cdbb0949ed8bf0f65586fa297
10 years ago
James Jackson-South
6574466aac
Sanitation, performance, vignette, and glow
TODO convolution and colormatrix sanitation
Former-commit-id: 2dc40b04a3d2c7bcf539488d4c0559fd42a48125
Former-commit-id: e79bce183a3fce5bd19c05271ac55dc756f74098
Former-commit-id: 43fa71e167864c565463fd3d2250a9603125661a
10 years ago
James Jackson-South
8ac47b021e
Add setter to IPackedVector<TP>
Former-commit-id: 8f90f6fd99515e8cbf50184baeaefd93466bb39c
Former-commit-id: f1e9aa552dc446eedb450aa7ed1a9f6ef87a5001
Former-commit-id: 15c3d89bf472544d8c89dd7da2f45dfffbb441e6
10 years ago
James Jackson-South
16aee11d45
Use processor specific parallel options.
Former-commit-id: 2acf4fe804efd492297eab966fb5202502ea5455
Former-commit-id: 8fa7b831fa1b096316c10b12c1003a116541051b
Former-commit-id: b5970581a06e6a7af28b806f2625517a153591cb
10 years ago
James Jackson-South
33d097064f
BackgroundColor
Former-commit-id: abafddef9276f279c204a312c097cd28aa1d3e58
Former-commit-id: 27079155a41cd95690c7b676601e9df4044a05ca
Former-commit-id: 0c77f74fd0194f4bab444d9bb4522422f65ad029
10 years ago
James Jackson-South
20f34563ef
Trim back to basics
Former-commit-id: 3cca13c49abcf0e9a5a394794153406084d2e19e
Former-commit-id: 767a3db69cf4adecac58c58a84891b736ada79eb
Former-commit-id: db1a5b695cc73951becdff9b31535b8f7b03e75b
10 years ago
James Jackson-South
a11d0177e9
Remove task splitting code.
Former-commit-id: a29d6e26e80dd4c47adfe6dab3cea8b41699165e
Former-commit-id: 5463d0ceda62e577377de3ad9d52d347a830622b
Former-commit-id: b3efff43e573ba7239d5724187cea5ae62f93690
10 years ago
James Jackson-South
c332cd8a1e
Fix namespaces
Former-commit-id: 5e9d8e0d98e6bed499d71b0cab005c2c253ec917
Former-commit-id: 87cc61833ac266b0795f93a8c3a46ba84796e726
Former-commit-id: 2d3e58fe24556ae5701d00236b10125f878b4b63
10 years ago
James Jackson-South
5898a56a39
Use PixelAccessor
Former-commit-id: 9b7174022ac6745534acff3ed69718d143e91e6f
Former-commit-id: f8d1e182dec104b3c77fec79cd4d7c00a299a70f
Former-commit-id: 98f22a9d62b5133aeba4b4525a71b2e6c2b18133
10 years ago
James Jackson-South
082a8290c6
Fix naming. Apologies to all who have forked.
Former-commit-id: b3318e2897e80fcb91ed454fc725fb8235552210
Former-commit-id: 2f26839a479acd967c72874647e312971a5a99da
Former-commit-id: ec046509505fb50980397da16e659e80bbded4aa
10 years ago