Prototype code for cropping, resizing and compressing image data
Go to file
Samuel Hawksby-Robinson b5319c48b9
Format and tidy up
2020-09-18 16:22:10 +01:00
assets Renamed images dir to assets 2020-09-18 15:55:37 +01:00
common Renamed images dir to assets 2020-09-18 15:55:37 +01:00
files Format and tidy up 2020-09-18 16:22:10 +01:00
images Format and tidy up 2020-09-18 16:22:10 +01:00
README.md Renamed images dir to assets 2020-09-18 15:55:37 +01:00
main.go Moved separate functionality into dedicated packages 2020-09-18 16:19:43 +01:00

README.md

elephant

Original elephant image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 979
pre-render circle crop 80 10 1,079
post-render circle crop 80 10 1,077
80 20 1,211
pre-render circle crop 80 20 1,344
post-render circle crop 80 20 1,346
80 30 1,403
pre-render circle crop 80 30 1,577
post-render circle crop 80 30 1,580
80 40 1,550
pre-render circle crop 80 40 1,749
post-render circle crop 80 40 1,739
80 50 1,684
pre-render circle crop 80 50 1,911
post-render circle crop 80 50 1,904
80 60 1,828
pre-render circle crop 80 60 2,095
post-render circle crop 80 60 2,083
80 70 2,100
pre-render circle crop 80 70 2,399
post-render circle crop 80 70 2,389
80 80 2,440
pre-render circle crop 80 80 2,802
post-render circle crop 80 80 2,798
80 90 3,367
pre-render circle crop 80 90 3,727
post-render circle crop 80 90 3,724
80 100 7,732
pre-render circle crop 80 100 8,222
post-render circle crop 80 100 8,233
240 10 3,421
pre-render circle crop 240 10 3,563
post-render circle crop 240 10 3,564
240 20 5,263
pre-render circle crop 240 20 5,351
post-render circle crop 240 20 5,336
240 30 6,725
pre-render circle crop 240 30 6,798
post-render circle crop 240 30 6,778
240 40 7,875
pre-render circle crop 240 40 7,953
post-render circle crop 240 40 7,925
240 50 9,008
pre-render circle crop 240 50 9,068
post-render circle crop 240 50 9,067
240 60 10,224
pre-render circle crop 240 60 10,295
post-render circle crop 240 60 10,248
240 70 12,129
pre-render circle crop 240 70 12,104
post-render circle crop 240 70 12,079
240 80 15,276
pre-render circle crop 240 80 15,164
post-render circle crop 240 80 15,162
240 90 22,584
pre-render circle crop 240 90 21,959
post-render circle crop 240 90 21,948
240 100 59,224
pre-render circle crop 240 100 55,532
post-render circle crop 240 100 55,778

frog

Original frog image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 965
pre-render circle crop 80 10 992
post-render circle crop 80 10 994
80 20 1,163
pre-render circle crop 80 20 1,204
post-render circle crop 80 20 1,202
80 30 1,319
pre-render circle crop 80 30 1,378
post-render circle crop 80 30 1,380
80 40 1,453
pre-render circle crop 80 40 1,532
post-render circle crop 80 40 1,528
80 50 1,577
pre-render circle crop 80 50 1,672
post-render circle crop 80 50 1,671
80 60 1,694
pre-render circle crop 80 60 1,801
post-render circle crop 80 60 1,793
80 70 1,888
pre-render circle crop 80 70 2,019
post-render circle crop 80 70 2,015
80 80 2,217
pre-render circle crop 80 80 2,377
post-render circle crop 80 80 2,380
80 90 2,984
pre-render circle crop 80 90 3,235
post-render circle crop 80 90 3,225
80 100 6,833
pre-render circle crop 80 100 7,340
post-render circle crop 80 100 7,362
240 10 2,723
pre-render circle crop 240 10 2,809
post-render circle crop 240 10 2,806
240 20 3,679
pre-render circle crop 240 20 3,811
post-render circle crop 240 20 3,797
240 30 4,475
pre-render circle crop 240 30 4,653
post-render circle crop 240 30 4,649
240 40 5,123
pre-render circle crop 240 40 5,345
post-render circle crop 240 40 5,329
240 50 5,773
pre-render circle crop 240 50 6,035
post-render circle crop 240 50 6,017
240 60 6,438
pre-render circle crop 240 60 6,746
post-render circle crop 240 60 6,731
240 70 7,448
pre-render circle crop 240 70 7,792
post-render circle crop 240 70 7,757
240 80 9,138
pre-render circle crop 240 80 9,519
post-render circle crop 240 80 9,499
240 90 13,049
pre-render circle crop 240 90 13,610
post-render circle crop 240 90 13,562
240 100 39,322
pre-render circle crop 240 100 39,105
post-render circle crop 240 100 39,529

goat

Original goat image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 953
pre-render circle crop 80 10 1,014
post-render circle crop 80 10 1,012
80 20 1,129
pre-render circle crop 80 20 1,224
post-render circle crop 80 20 1,220
80 30 1,283
pre-render circle crop 80 30 1,421
post-render circle crop 80 30 1,415
80 40 1,401
pre-render circle crop 80 40 1,568
post-render circle crop 80 40 1,569
80 50 1,522
pre-render circle crop 80 50 1,712
post-render circle crop 80 50 1,703
80 60 1,640
pre-render circle crop 80 60 1,859
post-render circle crop 80 60 1,852
80 70 1,837
pre-render circle crop 80 70 2,093
post-render circle crop 80 70 2,085
80 80 2,134
pre-render circle crop 80 80 2,439
post-render circle crop 80 80 2,440
80 90 2,825
pre-render circle crop 80 90 3,221
post-render circle crop 80 90 3,219
80 100 6,530
pre-render circle crop 80 100 7,304
post-render circle crop 80 100 7,347
240 10 2,620
pre-render circle crop 240 10 2,852
post-render circle crop 240 10 2,851
240 20 3,605
pre-render circle crop 240 20 3,962
post-render circle crop 240 20 3,956
240 30 4,426
pre-render circle crop 240 30 4,875
post-render circle crop 240 30 4,880
240 40 5,100
pre-render circle crop 240 40 5,650
post-render circle crop 240 40 5,639
240 50 5,738
pre-render circle crop 240 50 6,408
post-render circle crop 240 50 6,396
240 60 6,442
pre-render circle crop 240 60 7,196
post-render circle crop 240 60 7,181
240 70 7,496
pre-render circle crop 240 70 8,332
post-render circle crop 240 70 8,335
240 80 9,228
pre-render circle crop 240 80 10,267
post-render circle crop 240 80 10,269
240 90 13,201
pre-render circle crop 240 90 14,542
post-render circle crop 240 90 14,540
240 100 37,179
pre-render circle crop 240 100 38,798
post-render circle crop 240 100 39,372

mars

Original mars image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 852
pre-render circle crop 80 10 852
post-render circle crop 80 10 851
80 20 969
pre-render circle crop 80 20 969
post-render circle crop 80 20 967
80 30 1,069
pre-render circle crop 80 30 1,070
post-render circle crop 80 30 1,067
80 40 1,157
pre-render circle crop 80 40 1,159
post-render circle crop 80 40 1,157
80 50 1,235
pre-render circle crop 80 50 1,235
post-render circle crop 80 50 1,234
80 60 1,329
pre-render circle crop 80 60 1,331
post-render circle crop 80 60 1,327
80 70 1,454
pre-render circle crop 80 70 1,457
post-render circle crop 80 70 1,456
80 80 1,669
pre-render circle crop 80 80 1,667
post-render circle crop 80 80 1,668
80 90 2,137
pre-render circle crop 80 90 2,141
post-render circle crop 80 90 2,138
80 100 4,913
pre-render circle crop 80 100 4,889
post-render circle crop 80 100 4,941
240 10 1,970
pre-render circle crop 240 10 1,969
post-render circle crop 240 10 1,970
240 20 2,465
pre-render circle crop 240 20 2,464
post-render circle crop 240 20 2,463
240 30 2,876
pre-render circle crop 240 30 2,873
post-render circle crop 240 30 2,873
240 40 3,238
pre-render circle crop 240 40 3,238
post-render circle crop 240 40 3,236
240 50 3,627
pre-render circle crop 240 50 3,637
post-render circle crop 240 50 3,631
240 60 4,035
pre-render circle crop 240 60 4,038
post-render circle crop 240 60 4,041
240 70 4,644
pre-render circle crop 240 70 4,645
post-render circle crop 240 70 4,651
240 80 5,718
pre-render circle crop 240 80 5,701
post-render circle crop 240 80 5,718
240 90 8,218
pre-render circle crop 240 90 8,209
post-render circle crop 240 90 8,212
240 100 26,370
pre-render circle crop 240 100 26,224
post-render circle crop 240 100 26,652

psychedelic

Original psychedelic image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 1,151
pre-render circle crop 80 10 1,157
post-render circle crop 80 10 1,154
80 20 1,516
pre-render circle crop 80 20 1,498
post-render circle crop 80 20 1,493
80 30 1,789
pre-render circle crop 80 30 1,770
post-render circle crop 80 30 1,761
80 40 2,031
pre-render circle crop 80 40 2,000
post-render circle crop 80 40 2,003
80 50 2,284
pre-render circle crop 80 50 2,238
post-render circle crop 80 50 2,246
80 60 2,554
pre-render circle crop 80 60 2,503
post-render circle crop 80 60 2,479
80 70 2,985
pre-render circle crop 80 70 2,894
post-render circle crop 80 70 2,889
80 80 3,683
pre-render circle crop 80 80 3,533
post-render circle crop 80 80 3,554
80 90 5,054
pre-render circle crop 80 90 4,835
post-render circle crop 80 90 4,843
80 100 10,637
pre-render circle crop 80 100 10,109
post-render circle crop 80 100 10,084
240 10 5,366
pre-render circle crop 240 10 4,933
post-render circle crop 240 10 4,939
240 20 8,220
pre-render circle crop 240 20 7,447
post-render circle crop 240 20 7,445
240 30 10,419
pre-render circle crop 240 30 9,413
post-render circle crop 240 30 9,406
240 40 12,291
pre-render circle crop 240 40 11,089
post-render circle crop 240 40 11,067
240 50 14,117
pre-render circle crop 240 50 12,717
post-render circle crop 240 50 12,703
240 60 16,143
pre-render circle crop 240 60 14,499
post-render circle crop 240 60 14,500
240 70 19,265
pre-render circle crop 240 70 17,300
post-render circle crop 240 70 17,292
240 80 24,290
pre-render circle crop 240 80 21,765
post-render circle crop 240 80 21,715
240 90 35,433
pre-render circle crop 240 90 31,431
post-render circle crop 240 90 31,423
240 100 82,134
pre-render circle crop 240 100 72,448
post-render circle crop 240 100 72,506

rainbow

Original rainbow image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 842
pre-render circle crop 80 10 932
post-render circle crop 80 10 927
80 20 1,016
pre-render circle crop 80 20 1,134
post-render circle crop 80 20 1,133
80 30 1,141
pre-render circle crop 80 30 1,304
post-render circle crop 80 30 1,303
80 40 1,239
pre-render circle crop 80 40 1,433
post-render circle crop 80 40 1,434
80 50 1,346
pre-render circle crop 80 50 1,560
post-render circle crop 80 50 1,564
80 60 1,450
pre-render circle crop 80 60 1,693
post-render circle crop 80 60 1,689
80 70 1,628
pre-render circle crop 80 70 1,920
post-render circle crop 80 70 1,907
80 80 1,931
pre-render circle crop 80 80 2,265
post-render circle crop 80 80 2,261
80 90 2,613
pre-render circle crop 80 90 3,001
post-render circle crop 80 90 3,003
80 100 6,337
pre-render circle crop 80 100 6,900
post-render circle crop 80 100 6,943
240 10 2,599
pre-render circle crop 240 10 2,755
post-render circle crop 240 10 2,745
240 20 3,870
pre-render circle crop 240 20 3,976
post-render circle crop 240 20 3,984
240 30 4,844
pre-render circle crop 240 30 4,987
post-render circle crop 240 30 4,976
240 40 5,673
pre-render circle crop 240 40 5,844
post-render circle crop 240 40 5,834
240 50 6,485
pre-render circle crop 240 50 6,654
post-render circle crop 240 50 6,640
240 60 7,395
pre-render circle crop 240 60 7,548
post-render circle crop 240 60 7,544
240 70 8,793
pre-render circle crop 240 70 8,931
post-render circle crop 240 70 8,938
240 80 11,033
pre-render circle crop 240 80 11,101
post-render circle crop 240 80 11,083
240 90 16,538
pre-render circle crop 240 90 16,283
post-render circle crop 240 90 16,268
240 100 48,353
pre-render circle crop 240 100 45,039
post-render circle crop 240 100 45,486

romanian-flag

Original romanian-flag image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 822
pre-render circle crop 80 10 935
post-render circle crop 80 10 939
80 20 901
pre-render circle crop 80 20 1,115
post-render circle crop 80 20 1,109
80 30 961
pre-render circle crop 80 30 1,246
post-render circle crop 80 30 1,246
80 40 1,003
pre-render circle crop 80 40 1,362
post-render circle crop 80 40 1,356
80 50 1,040
pre-render circle crop 80 50 1,449
post-render circle crop 80 50 1,446
80 60 1,067
pre-render circle crop 80 60 1,549
post-render circle crop 80 60 1,538
80 70 1,134
pre-render circle crop 80 70 1,745
post-render circle crop 80 70 1,754
80 80 1,185
pre-render circle crop 80 80 1,964
post-render circle crop 80 80 1,971
80 90 1,274
pre-render circle crop 80 90 2,480
post-render circle crop 80 90 2,483
80 100 1,426
pre-render circle crop 80 100 4,794
post-render circle crop 80 100 4,774
240 10 1,891
pre-render circle crop 240 10 2,297
post-render circle crop 240 10 2,281
240 20 2,121
pre-render circle crop 240 20 2,817
post-render circle crop 240 20 2,821
240 30 2,302
pre-render circle crop 240 30 3,259
post-render circle crop 240 30 3,273
240 40 2,425
pre-render circle crop 240 40 3,634
post-render circle crop 240 40 3,641
240 50 2,519
pre-render circle crop 240 50 3,915
post-render circle crop 240 50 3,904
240 60 2,593
pre-render circle crop 240 60 4,256
post-render circle crop 240 60 4,282
240 70 2,812
pre-render circle crop 240 70 4,800
post-render circle crop 240 70 4,801
240 80 2,982
pre-render circle crop 240 80 5,624
post-render circle crop 240 80 5,650
240 90 3,261
pre-render circle crop 240 90 7,238
post-render circle crop 240 90 7,334
240 100 3,711
pre-render circle crop 240 100 14,517
post-render circle crop 240 100 14,535

tormund

Original tormund image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 1,016
pre-render circle crop 80 10 1,028
post-render circle crop 80 10 1,023
80 20 1,265
pre-render circle crop 80 20 1,264
post-render circle crop 80 20 1,269
80 30 1,437
pre-render circle crop 80 30 1,456
post-render circle crop 80 30 1,443
80 40 1,592
pre-render circle crop 80 40 1,618
post-render circle crop 80 40 1,607
80 50 1,744
pre-render circle crop 80 50 1,769
post-render circle crop 80 50 1,762
80 60 1,919
pre-render circle crop 80 60 1,943
post-render circle crop 80 60 1,938
80 70 2,163
pre-render circle crop 80 70 2,181
post-render circle crop 80 70 2,176
80 80 2,544
pre-render circle crop 80 80 2,564
post-render circle crop 80 80 2,550
80 90 3,450
pre-render circle crop 80 90 3,411
post-render circle crop 80 90 3,406
80 100 7,715
pre-render circle crop 80 100 7,502
post-render circle crop 80 100 7,539
240 10 3,559
pre-render circle crop 240 10 3,387
post-render circle crop 240 10 3,380
240 20 5,322
pre-render circle crop 240 20 4,960
post-render circle crop 240 20 4,943
240 30 6,749
pre-render circle crop 240 30 6,280
post-render circle crop 240 30 6,255
240 40 7,935
pre-render circle crop 240 40 7,360
post-render circle crop 240 40 7,365
240 50 9,020
pre-render circle crop 240 50 8,401
post-render circle crop 240 50 8,380
240 60 10,274
pre-render circle crop 240 60 9,560
post-render circle crop 240 60 9,511
240 70 12,195
pre-render circle crop 240 70 11,285
post-render circle crop 240 70 11,258
240 80 15,321
pre-render circle crop 240 80 14,144
post-render circle crop 240 80 14,121
240 90 22,343
pre-render circle crop 240 90 20,422
post-render circle crop 240 90 20,392
240 100 55,874
pre-render circle crop 240 100 50,564
post-render circle crop 240 100 50,863

woman

Original woman image

Image Properties Size (px^2) Image Quality (%) Size (bytes)
80 10 915
pre-render circle crop 80 10 872
post-render circle crop 80 10 872
80 20 1,058
pre-render circle crop 80 20 1,002
post-render circle crop 80 20 1,001
80 30 1,168
pre-render circle crop 80 30 1,086
post-render circle crop 80 30 1,087
80 40 1,247
pre-render circle crop 80 40 1,157
post-render circle crop 80 40 1,156
80 50 1,336
pre-render circle crop 80 50 1,233
post-render circle crop 80 50 1,235
80 60 1,423
pre-render circle crop 80 60 1,303
post-render circle crop 80 60 1,307
80 70 1,531
pre-render circle crop 80 70 1,397
post-render circle crop 80 70 1,401
80 80 1,743
pre-render circle crop 80 80 1,580
post-render circle crop 80 80 1,583
80 90 2,219
pre-render circle crop 80 90 1,996
post-render circle crop 80 90 2,005
80 100 4,415
pre-render circle crop 80 100 4,148
post-render circle crop 80 100 4,190
240 10 2,475
pre-render circle crop 240 10 2,303
post-render circle crop 240 10 2,303
240 20 3,091
pre-render circle crop 240 20 2,822
post-render circle crop 240 20 2,818
240 30 3,592
pre-render circle crop 240 30 3,195
post-render circle crop 240 30 3,185
240 40 4,014
pre-render circle crop 240 40 3,547
post-render circle crop 240 40 3,531
240 50 4,424
pre-render circle crop 240 50 3,867
post-render circle crop 240 50 3,868
240 60 4,835
pre-render circle crop 240 60 4,242
post-render circle crop 240 60 4,226
240 70 5,518
pre-render circle crop 240 70 4,774
post-render circle crop 240 70 4,767
240 80 6,603
pre-render circle crop 240 80 5,658
post-render circle crop 240 80 5,625
240 90 9,223
pre-render circle crop 240 90 7,754
post-render circle crop 240 90 7,726
240 100 22,967
pre-render circle crop 240 100 20,063
post-render circle crop 240 100 20,288