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
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
James Jackson-South
a9ad947885
Rename to Core
Former-commit-id: c18f0149c93be6a2b8f196bd9265d293071f303b
Former-commit-id: ec96e4fa102a05b541bee1dc6be583ad9676a664
Former-commit-id: af407d177b01792436a266deecb16925f1c22981
10 years ago
James Jackson-South
f7d04925d7
Rename to Core
Former-commit-id: d67ccae22dd0be392237738f05abc778f5f37bca
Former-commit-id: b2cd4c7535080da11a3710d8e4a6dc4cba934512
Former-commit-id: 491167f89f2e9487a1956a33cf75616d3b4789c6
10 years ago
voidstar69
e734e31bff
Updated every filter and sampler to call ParallelImageProcessor.OnRowProcessed to enabled progress notifications for client code
Former-commit-id: 457a0ef5953ccea0c83d4a3c67c4d276eb9172f0
Former-commit-id: 9a6824f576f5c18db44cf8e535676deaae3dc70a
Former-commit-id: 9a90ccef99351f7f19c75041f05f9f2cd0e080a6
10 years ago
voidstar69
39684e9fa0
Updated every filter and sampler to call ParallelImageProcessor.OnRowProcessed to enabled progress notifications for client code
Former-commit-id: 3669c36371f1e113f64c927c352cffd8d083b2b9
Former-commit-id: 3a338140eca0b31f75389c82b6a87c6b74a98db8
Former-commit-id: b2e9b8dcc8bd8706056c8a23302b940de21bf1f6
10 years ago
James Jackson-South
b5dce7c93d
SIMD optimisations
Former-commit-id: 84d7baf1143adab15d23d4bbc5011ac2e70364c1
Former-commit-id: 8510f8d406386e97d26b5e4a28044cfb61e9ff88
Former-commit-id: a2ae716d4495a9c2a1d6334838c5103ec4f0190e
10 years ago
James Jackson-South
d26210912a
SIMD optimisations
Former-commit-id: 30dca08470d0e771bbc18bb717d05443fcf404b5
Former-commit-id: 75095f939b10143f2bef62096f9ab40e4aeeec9b
Former-commit-id: 9b8f804b79ec99a32915123a41553009d1bd1af8
10 years ago
James Jackson-South
e8f6157023
Better transparency handling
Former-commit-id: a1d0f5d52b21aa76531f86ee63f75973311e1837
Former-commit-id: b3f3963a089a4c99ae8ceda8b4ad019b19e32ec2
Former-commit-id: eb5b4e013f56035cd961b03e213cea128ee5e88b
10 years ago
James Jackson-South
34298d4bd5
Better transparency handling
Former-commit-id: ac22e88250f0f22a76df995e48aaa1b57b4eaf32
Former-commit-id: e50bfc7cfdfab49c7b1214d82608571f05ee725d
Former-commit-id: 37bc9f8b39875633915092c6e1351450b3d93fbe
10 years ago
James Jackson-South
7dc0ec8542
More rotation improvements/tweaks.
Former-commit-id: f70a282d078d1fee3858ab7cd10952d5613cfe6c
Former-commit-id: 07e613cc7879308b9475ee3a8582a9b5db3ff121
Former-commit-id: 73fdea9a14385d10b74a0abea0ece717170ec960
10 years ago