Scott Williams
74f05629b8
fix frame double processing
moved some extensions into new namespace
9 years ago
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
9 years ago
Scott Williams
9ae9041c8d
use abstract base class instead of interface
9 years ago
Scott Williams
11236a55f6
Put processors folder/namespace back
9 years ago
Scott Williams
8a916f453d
fix namespaces
9 years ago
Scott Williams
7570c3a278
migrate processors
9 years ago
Scott Williams
78359860ff
Split Drawing from Core
9 years ago
James Jackson-South
f59de118ff
Fix Tests
Merge IImageFilteringProcessor with IImageProcessor to simplify
encapsulation and allow easy setting of parallel options
9 years ago
Scott Williams
5f5dffc700
Add a recolor brush
9 years ago
James Jackson-South
7e048ed506
Merging into master
9 years ago
James Jackson-South
a404a3646d
Remove TPacked from generic signature
9 years ago
James Jackson-South
9afc73d2b4
Update TPacked signature
Removes boxing allocation when comparing generic packed value.
9 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`
9 years ago
James Jackson-South
4f5fd68f55
Simplify filter API further
No need for startY, endY parameters.
9 years ago
James Jackson-South
128a0f24b6
Fix blending on #14
ALso impove glow, vignette and background color.
9 years ago
James Jackson-South
e4d76533ea
Normalize naming and organize locations
9 years ago
dirk
3f7d80ddb7
Fixed reference in comments.
9 years ago
dirk
5e6f379562
Changed PixelAccessor to use IPackedPixel<TPacked>.
9 years ago
James Jackson-South
a57c90d94b
Rename to ImageSharp
9 years ago
dirk
a27f4b953b
Enforce struct on TColor
Former-commit-id: c22a93c67274e1ab495ffa6a85d6c7cb95688974
Former-commit-id: 12a03f05c3c0137240006e978a573e5ff0746ce4
Former-commit-id: 78b186b3d54015644377e55314c070c84debfb25
9 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
9 years ago
James Jackson-South
13c865ca18
Enforce struct on TColor
Former-commit-id: 0de461016f83628673d07d18a2f2a402082f47b2
Former-commit-id: 5ee53a5681d546619d3fabaf65d343e20d025b58
Former-commit-id: 1e48873bd7609b2ecd1b33158ae1f7d3f9d517e0
9 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