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
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
11 years ago
James Jackson-South
d26210912a
SIMD optimisations
Former-commit-id: 30dca08470d0e771bbc18bb717d05443fcf404b5
Former-commit-id: 75095f939b10143f2bef62096f9ab40e4aeeec9b
Former-commit-id: 9b8f804b79ec99a32915123a41553009d1bd1af8
11 years ago
James Jackson-South
e8f6157023
Better transparency handling
Former-commit-id: a1d0f5d52b21aa76531f86ee63f75973311e1837
Former-commit-id: b3f3963a089a4c99ae8ceda8b4ad019b19e32ec2
Former-commit-id: eb5b4e013f56035cd961b03e213cea128ee5e88b
11 years ago
James Jackson-South
34298d4bd5
Better transparency handling
Former-commit-id: ac22e88250f0f22a76df995e48aaa1b57b4eaf32
Former-commit-id: e50bfc7cfdfab49c7b1214d82608571f05ee725d
Former-commit-id: 37bc9f8b39875633915092c6e1351450b3d93fbe
11 years ago
James Jackson-South
7dc0ec8542
More rotation improvements/tweaks.
Former-commit-id: f70a282d078d1fee3858ab7cd10952d5613cfe6c
Former-commit-id: 07e613cc7879308b9475ee3a8582a9b5db3ff121
Former-commit-id: 73fdea9a14385d10b74a0abea0ece717170ec960
11 years ago
James Jackson-South
e498efe12d
More rotation improvements/tweaks.
Former-commit-id: e52c082647f8b243036e6f15e77bfe072dadd386
Former-commit-id: a0250cc078824f9463a474a5002418888e11798e
Former-commit-id: 68ad7c778dfc94f46300a0ef99e3fc19d4059a9b
11 years ago
James Jackson-South
47e4f66d9e
Better transparency handling in encoders
Former-commit-id: 4ac66346af234c105628b588a84a4cb746c3e6ad
Former-commit-id: 3c249d1fb3e2860e3df77b1cb8e30bd60fda1db4
Former-commit-id: fb192a7e2fdaedf1b75173c8283b44642614d81d
11 years ago
James Jackson-South
375a21e954
Better transparency handling in encoders
Former-commit-id: f270c42392da5923b647c9a020b2cab5f0d8246a
Former-commit-id: c4aff598526059b09d4c1e4ee7a782e317c686b6
Former-commit-id: 7e6cb00b0ece0f5968d6f69262f3c0c576b6d750
11 years ago
James Jackson-South
b8760a8693
Various fixes
- Fix alpha clamping on Resize to prevent bleed.
- Finish Color premultiplication updates
Former-commit-id: e0cc8e3c08b0626fe1a1a7ce4c2f1246c1b912ca
Former-commit-id: 503f9fa8137a2ff561d697bb2a4cdd2071f1728d
Former-commit-id: 51ee649dbfec8fc8cc4db412ac6b743ba2ce991c
11 years ago
James Jackson-South
8a9210f579
Various fixes
- Fix alpha clamping on Resize to prevent bleed.
- Finish Color premultiplication updates
Former-commit-id: 52998716848b710dad059ce767ac5c14e6f3cac7
Former-commit-id: b63167e01bb7ab827438cf3cdd4e39bbff9c5249
Former-commit-id: a3dfdeaae32f9fd0463cd9da76cf0b7ef1c93571
11 years ago
James Jackson-South
1a449f0629
Add premultiplied alpha
Former-commit-id: 19e9707988c7eea57137289d395c61a3c64dfcbc
Former-commit-id: 7345f59fdb18429fd71d617c493ef6b9a2e006fa
Former-commit-id: 2f7b5f2b751c0c26fc588d7fddcb93f67844d5a5
11 years ago
James Jackson-South
823ea46e0d
Switch out List for ImmutableArray
Use my full name.
Former-commit-id: 329d5d6ae345d28b6c120966b77641cec4dce101
Former-commit-id: 121cd1a695ad5d3da170725385a3e555b5536798
Former-commit-id: c34c57087a21e44a404066329e2512d678eef567
11 years ago
James Jackson-South
e42ae5e67d
Switch out List for ImmutableArray
Use my full name.
Former-commit-id: 68931f6382eb2988fb29b31ea82ea03c48f967a3
Former-commit-id: 07b72753f259aae27c2eeea8d8ade919ab11fd98
Former-commit-id: c564a2e6328096acf051af9def4656e75ad2547c
11 years ago
James Jackson-South
c755ac602e
Use Lerp silly!
Former-commit-id: eaf0f42e5396ade62ae183cebf6e5184497d4080
Former-commit-id: 549126e52b96fa9964cd784d4b9d77d49a144406
Former-commit-id: ab690f14924de2ae267ffc189dd741c6281b10bc
11 years ago