James Jackson-South
ad03cd5390
Strip out dominant pixel methods.
The two methods added yesterday are too generic and not best placed in
core. Could be an extension method for the web version though. Replaced
with ToString() override.
Former-commit-id: fe3126102c16e1499536b13dfdfe705246f29869
Former-commit-id: 7f5b08ed913df21285b01d6ded3d7922203c050c
Former-commit-id: 70d8c9dc185b715402b6092be342755020ddcc70
10 years ago
James South
d476751d9d
Add dominant pixel encoding.
Add functionality as described at
https://manu.ninja/dominant-colors-for-lazy-loading-images
Former-commit-id: 6877d52aec61a5cff850b8fc52b98fe4328db115
Former-commit-id: 231b6016c32e434d9699fd01b90662257c7edb59
Former-commit-id: 504ae4d40e60270d85797b646b659becd4303500
10 years ago
zabulus
d845db0440
Add support for .NET 4.5.2
Former-commit-id: ee5f09ffb1e1e1eb96c2334ce017a0d530f8eb78
Former-commit-id: 2a8bc84046fb5f3c6bb2d831a5003a0e4baadd48
Former-commit-id: cf3c96e4547d0c4152fdd017fbc94fe07f85e3b2
10 years ago
James South
13920f6808
Stylecop
Former-commit-id: 91a27c024108ecc4d4d908710b981e27bc3e750d
Former-commit-id: 1d6f8af6ffbd20af54f347794a7a84c4bcffbfda
Former-commit-id: 19e2ec5430c4510743d831e3af765622a9dcec55
10 years ago
James South
b4ff2a5fb2
Add Skew, Enhance Rotate
Former-commit-id: 55c3fee46aa082cc2cca3232580ed42d6d40a1e1
Former-commit-id: ab1b89f66aca40b6d2afe262ab937d768cae67af
Former-commit-id: ef13eccfc48a91a3adc99eaf0b746486d069bac1
10 years ago
James South
3c2a82df54
Improve Resize and Rotate
Resize is more accurate + should be faster for larger images.
Rotate is now faster.
Former-commit-id: 3048d78e60fe62e826fe0b6fcb13a83ed6cf38eb
Former-commit-id: dc9eacc4bc7a9c9c33c155bdaa871b15b62816ff
Former-commit-id: dd17b2b62035f8bf3af68167e8e2cb72ac2dfcb3
10 years ago
James Jackson-South
4e7e7f98e8
Resize experiments.
Former-commit-id: 9d1f60a253be59b797be35618a0159dd6ca3b13b
Former-commit-id: c36b547bcc7372a0961397c20fdcdb6fee96070d
Former-commit-id: 4e5618575a0a923629e85880dd75f358d8bfe6eb
10 years ago
James South
bae30daead
No need for bounds check.
Former-commit-id: 6004db66d17f9fc01328774b9a15e2876ae6e57a
Former-commit-id: badb280bc5a2206643bf403856e98335f63c410b
Former-commit-id: fd532c37d6ed95609736410b30e6b4037e1ec795
10 years ago
James Jackson-South
6cf216b3c3
Fix blend
Former-commit-id: 2ff994ec48236f6d1293dfbaefdbf2a2f91fee67
Former-commit-id: 734ec6a70dd782ac2d26420621e989d9943b12ed
Former-commit-id: 87b984ebbace9d0b8108267d0d09f736ba5e1b1a
10 years ago
Michael Weber
429af7f7eb
Fix to jpeg decocding, wrong size for mcu counter.
Former-commit-id: bf3abfef7518c9e00edd8c1de040561b3a88ad82
Former-commit-id: efa7a26d6a311ac85959f0c6d2e5cf5adcbd1899
Former-commit-id: 9a9cb11772372e6c77b41a7cce89809fe17bf029
10 years ago
James South
d12eedb9fe
Image now IDisposable
This appears to have injected some voom into things. Not benchmarked
though and needs double checking for memory leaks.
touch #360
Former-commit-id: 0707a36781e3a5fa4d273d933d1bd1b04b022092
Former-commit-id: f7ec165c3d10d9e1e35b8eec3545ca75cf302cf9
Former-commit-id: d5bc57ce1cde9f1486a954d3453040514dc4d629
10 years ago
James South
acb5a66f66
Add 32bit bitmap support plus cleanup.
Former-commit-id: 398e93818c9c9e901b125b7daa7a345fcc8d2787
Former-commit-id: 9aba9f2e190fc8a986e16d632a58ebc94fda2d5b
Former-commit-id: fd99bf7129eb85360cae9484cccac3241af0681e
10 years ago
James South
493d91c671
Clean up colors
Former-commit-id: ef3fb067f37be5af30955604ef8f7e788c060fc8
Former-commit-id: fdf15de4bf1184ae07ffdeb37e0219e960dd9db5
Former-commit-id: 6ab66cdb8fd7f82c38b6ddc5ac11364c09accd97
10 years ago
James South
e1e4135291
Cleaned up Lzw (En/De)coder
Fix #359
Former-commit-id: e140a2e3bb28ec1332e0d4caf0de1eaeed154376
Former-commit-id: db6a61bfbe42c744ef7ad47444019a77a9d439dc
Former-commit-id: 88b7684fa215b5e7641a8f012fef6b97313a6935
10 years ago
James South
ed0f077114
Fixing encoder for animated gifs
Lots of cleanup to do yet.
Former-commit-id: 2606ad6ffb5da07a1aef2ee1d5af81437367b8c3
Former-commit-id: a444cddddae006b71c32de7e4dc1619b604d1115
Former-commit-id: 5dffd13674d2d3ae1b2c366989cc1c97b1bd18ac
10 years ago
James South
4487855a01
Use core gif encoder.
Former-commit-id: 548bcc2f52fff34c699dae622988797facbc4bad
Former-commit-id: 3533dab899bff33bfa7d4485b51a6bba1f3154a7
Former-commit-id: de8e3008aef00c8685117416a54d919ad892931f
10 years ago
James Jackson-South
c645e9f695
Add EndianBinaryWriter
Former-commit-id: 17cd44fdcf56bd26a2a22ddecc156c9c35ae6478
Former-commit-id: c978bc8b4b361b67559b28f71eb1c351ff2b5246
Former-commit-id: 9a242b89981c266e38e6e79bf55e4750e0e3ef73
10 years ago
James Jackson-South
da14b2960c
Palette Quantizer is now threadsafe.
Former-commit-id: 7e9f0265dd832ab739a0579deabae792f351efda
Former-commit-id: 8d60a4d0e34f89e2ef638da8c7b1873ac77aee03
Former-commit-id: 7bc7b4acc76f558796b3cf580446d0f517bb15fa
10 years ago
James Jackson-South
11ae9c292a
Fix indexed png transparecy
Former-commit-id: 22b1bb758cdbd1a858c7e3cdcc1896c67302ad51
Former-commit-id: 9439de1c305648648f7348a9b7852b137c83720a
Former-commit-id: 7a1d86a944909bd5e68ea96070ecf16641d3b1db
10 years ago
James South
60f58b1d85
Supports indexed png when quality is set to <= 256
Former-commit-id: 83d6dd94b5db6de3a05d02e5e2884ba2740556ee
Former-commit-id: c41912b1e3b1a957ea9482e7b21de18bae85785c
Former-commit-id: 2504d8cd469282a5e24e0ecc730e391685486519
10 years ago
James Jackson-South
a73738e312
Partial indexed png implementation.
Image renders but is skewed. Run ImageCanSaveIndexedPng test to see
progress.
Former-commit-id: f1d6faa94679bc7adb9cd20ea0b127504a61a33b
Former-commit-id: d5276cc71dad91c152082b5ab261157c9c0108e0
Former-commit-id: 1d5221d91b15cf6f0eb1f7988c32298d46b4e930
10 years ago
James Jackson-South
393f6fc9e3
Quantizers now implement threshold.
Former-commit-id: fb4a043db98f56ae1261cb3a7c3b1044798d5f16
Former-commit-id: 6abe27ce1f96183dbd6e1bcd76bb2af0654d21bd
Former-commit-id: 9f742e5ca28a2adb62976f9b73fed8b7d773da16
10 years ago
James Jackson-South
93634129d9
Fix Entropy Crop
Former-commit-id: d078a662595f78ac31b27df92fdae70cc5c38731
Former-commit-id: 882d751ab14072058b0e4cfe211c6b602c73b5ce
Former-commit-id: cec29371dc77a78d0b55cd52176cebfb896785dc
10 years ago
Michael Weber
b0cc540d0e
Fix to read of final bytes from buffer.
Former-commit-id: c62c73f69f56cc15038b688c44429c4a8246232c
Former-commit-id: c799ec68bfb06310d208ce53ad5f7bf273090f22
Former-commit-id: 84a29a019c6014c3856952314e8b89a03361ce90
10 years ago
Michael Weber
aba8df2099
Fix for progressive jpeg decoding.
Former-commit-id: e7b561f3e2fa5887cba36d8c75f5958c9d6140e3
Former-commit-id: f61be1a342f3519305381bf52801bffd843ffda8
Former-commit-id: 014b11004c48b42e30da1c261f5cf184d1d1177e
10 years ago
Michael Weber
facf825d8f
Fix from go conversion of progressive jpeg files.
Former-commit-id: 57fd2f1db3f7307148ca5c41a9c3a49de817a18c
Former-commit-id: e38409c8ce9c48818f8267167473136dfae88fab
Former-commit-id: 5889a2c095a80eb321c08f6dbb01674f073642d4
10 years ago
James Jackson-South
e718e758c2
Clean up a little to aid debugging.
Also use same method as golang to determine RGB
Former-commit-id: ed8a116fe427e988a36a201b47918c6ec8cc72a9
Former-commit-id: d223da7a28315306f548262ec195a3e0791081c7
Former-commit-id: 3966c55938cb0f351f6a99bdbca48bd651708bef
10 years ago
James Jackson-South
9a8127e784
Cleanup
Former-commit-id: 49673492818d8855ffd3da553d6f2950f49b41ab
Former-commit-id: 4d3cab5c2e711dc5762b14cd3c06353c6db1eb3e
Former-commit-id: 720837a9bd59896031eccd8cef78504a621a6daa
10 years ago
James Jackson-South
231dfe832c
Fix transparency allocation
Former-commit-id: 85c4d5c0ccd92dce6265040068aeffe851604045
Former-commit-id: 5b59aa6bb210dcc113cee26d2986c172170a9d8e
Former-commit-id: a048ee2bfc5bf0bdbdcbdd709c485ccb6c50d90d
10 years ago
James Jackson-South
9cb1219e9a
Add palette quantizer.
Former-commit-id: 69da68a4a3d8b6a1b0e0ea0f980b90c1f76a5c27
Former-commit-id: 7d3352f72d9aeae1e9a6a37366ef87af6809f3cf
Former-commit-id: df1f8fe540d0cdf3548133acd57693bbda7a9dbc
10 years ago
James Jackson-South
abd0509a91
Interchangeable quantizers 🎈
Former-commit-id: d9c1d3a41b639781c0e44ac921a6de9de59321b2
Former-commit-id: 3b21b6cd0c539bf121d9f88fccf874793de71180
Former-commit-id: 4510bab7605f17c4c85d7793daaa7e24ea2dc55f
10 years ago
James Jackson-South
00620cec83
Shift to new namespace
Former-commit-id: e196c8b9f6e869acc06059fa18c5af33dd02d537
Former-commit-id: 8763566c1d28c8606cbebe1d70fd35d17b880876
Former-commit-id: d44c34c382ab783f3f9b26906981970363f44b8f
10 years ago
James Jackson-South
251923a359
OK actually now it works.
Former-commit-id: 6e7d3b8ca5887d468411011051e33ff0b375a676
Former-commit-id: 24528949db6743b12ad060fa19f5f6a889ba89d8
Former-commit-id: 5165f068be0bd610b313c692900c523d2f6ba8cb
10 years ago
James Jackson-South
26b0cb2ea1
It works.
Don't break it!
Former-commit-id: 569020216c8921de469c664f7e61454ab347579f
Former-commit-id: 9898b241446dd7ec5707821c0311d8aa42de2e09
Former-commit-id: 7bba69c1215a334bc83168ececcfe9948f296c33
10 years ago
James Jackson-South
d6bb70ae71
Add Wu Quantizer
R & B are reversed.
Former-commit-id: 92632679d9c7a1440e51e42bb23c264c2b8c4dad
Former-commit-id: 84f98b9f6124e93b61c43dafc28442f8fac92487
Former-commit-id: 043e6b98103678de70bc41857c52b81d22daca6d
10 years ago
James Jackson-South
81269b5005
Companding now off by default when resampling.
This doubles the resizer speed.
Former-commit-id: abbf63f863635d4df1a04d322eccd425db7e82db
Former-commit-id: 63b218a375e80832a49c4575d341febe08cb48ca
Former-commit-id: 1327e6da18486c8a3b97d20cc4dead0b77e1f82b
10 years ago
Michael Weber
e4b347e8ae
Add 4:4:4 encoding to jpeg encoder.
Former-commit-id: 6404f481a126e795de6ae3631ce736e8e437a659
Former-commit-id: 379beeee5edb7780c22f3001710469d345162068
Former-commit-id: 230c31f19ebb1359ae8e4cee5f5701413ad6ceb8
10 years ago
James Jackson-South
b4638bbacd
Update StyleCop
Former-commit-id: 9482bb291dd304d68f89f13d32780fabe9b557f7
Former-commit-id: 2225678e8cd5ab63db5ca13a7732860371498c7f
Former-commit-id: ff10cc467ad0beb43d1cb9624f8686151c70cded
10 years ago
James Jackson-South
caa4d725a7
Fix file encoding
Former-commit-id: 94200cfe9279e3d20b99a9d9fa1a564547cdb801
Former-commit-id: 157766beec509e0122c5eceb61d564fda693e0ec
Former-commit-id: 10b1c0e30d28d822905fa00e4127c07c9ad6ee04
10 years ago
James Jackson-South
2babf7a7b8
Perf improvements
Former-commit-id: dcdc915ea97c8e823835fb947730687ecf684a8a
Former-commit-id: 6130e5f2e4bb13fc381d4d7c73d5265015d03068
Former-commit-id: d49d8c70fe7f2833623f87a5e57a0b216a703efd
10 years ago
James Jackson-South
3fc1eb4d09
Use in built color transforms.
Plus some cleanup.
Former-commit-id: c5b1812f853366b9f5871d0a6f679637f3dfbcff
Former-commit-id: aabf62cb1f686ad62cf4691fd83375ce18ba474b
Former-commit-id: a5afb4446cde846ab68a36ad3a6c69d840fd8850
10 years ago
James Jackson-South
11a47bf144
Fix decoder throwing error.
Former-commit-id: 0969a8f63f97fc15991636152d39db6b2badfbac
Former-commit-id: d10f2dd0eb9664abd6b17ca3c3173af73b26ca6b
Former-commit-id: 66173453923d0ad0a28a4d5de37d9b3272fdb9b9
10 years ago
Michael Weber
46b883a7ce
Remove unused variable from jpeg decoder.
Former-commit-id: 31924d39d647832d39ad21db632d8850e3276482
Former-commit-id: e20dfa0262b007e3307b626735544db28f25aeda
Former-commit-id: 3c1f7a8f5850bd5b77ec201a679990679f405c39
10 years ago
Michael Weber
b2d1d5fb33
Adjustments to formatting to match project.
Former-commit-id: e5e64f7fd6484c572115f19ce78101889fbf3393
Former-commit-id: a37a55910678ebfa60b275ec6846b8ab07ce35a8
Former-commit-id: 84965228feebd8aa9cbc08849c2ad654c5d1cc1f
10 years ago
Michael Weber
793aa2c212
Change tabs to spaces, adjust formatting.
Former-commit-id: dc28bb2d7ef6df5f3632a7bfb89462f09cc94da9
Former-commit-id: 78751356195d16bae5ccef1373f6bc11b775a13d
Former-commit-id: d26a9612598636d0b26f80cddc96b7033b6b16c7
10 years ago
Michael Weber
878cb6b4ea
Fix som encapsulation for the jpeg decoder lib.
Former-commit-id: c9c17e9855cc463958e7ecd09d86c257a4ae86a4
Former-commit-id: a40f80591f0a7c92256d19435e04944931279de4
Former-commit-id: 572894aa8d92fd9cb8f9658ff9d97300b1ad89df
10 years ago
Michael Weber
00c4ed9db4
Slight performance increase in jpeg decode.
Convert from YCbCr to RGB in parallel.
Former-commit-id: b1ce38a5ca17f356844eb27ca783c5cce738c873
Former-commit-id: 60350e08a03692dcf18397f4eb1b604bfc91462b
Former-commit-id: f735411e49f3e0fd79b5a7cc7fdad0337e3905f3
10 years ago
Michael Weber
4390375120
Add jpeg encoding.
Former-commit-id: 20a1e3d68fbece9f35a426af61fe500fdb82e15b
Former-commit-id: 82d67e54001ff822292c1ef939c8ef1a0cd96d4b
Former-commit-id: c73e1ed636cb13bd6ff97e440bfc8bdb0af3f945
10 years ago
Michael Weber
1b0ab93fb5
Add initial golang jpeg library.
This converts the golang jpeg library to c#. This commit supports
decoding of both grayscale and YCbCr images. Encoding is not present
in this commit.
Former-commit-id: 5f331d8b6c7a7d1eab431c5982c4195f5a4429e1
Former-commit-id: a96d9e9b164d3348b9d3b12ee434f8d2da6350d2
Former-commit-id: 9267945c7c574f84315e6bfc8646ec552bb4ee70
10 years ago
James Jackson-South
eb06f8d6b4
Add color blindness filters
Former-commit-id: 584e0dbc90cb5fbdc8d7d103dfc4c1d6716a726d
Former-commit-id: 15bb157c19f09ee87889512a686b2b92deca44e7
Former-commit-id: ac3d596ab00ba5f1184edda33db8ec616f6797f9
10 years ago