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
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
James Jackson-South
fa40867c7b
Cleanup Zlib streams
Former-commit-id: acb424add8f9fb1d9f2c969c6a829714a12e5fe7
Former-commit-id: 8b0842a6f600d46375748e9ac2ec126c940b51a1
Former-commit-id: aed00a6f60d7d62baad5f82695c541942b939d30
10 years ago
James Jackson-South
0075d0c67a
Fix build
Former-commit-id: 2ea75ac8699b696c2ad2678d5f5d14d8825e495b
Former-commit-id: 5fa4b3d68070bf3ddbc8dad0d0d05e1cb744f928
Former-commit-id: 603bbd520d69e2459dd6da04ef44e6428da5c232
10 years ago