diff --git a/contrib/devtools/optimize-pngs.py b/contrib/devtools/optimize-pngs.py new file mode 100755 index 000000000..774968fc0 --- /dev/null +++ b/contrib/devtools/optimize-pngs.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +import os +import sys +import subprocess + +#optimize png, remove various color profiles, remove ancillary chunks (alla) and text chunks (text) +#pngcrush -brute -ow -rem gAMA -rem cHRM -rem iCCP -rem sRGB -rem alla -rem text + +folders = ["src/qt/res/movies", "src/qt/res/icons", "src/qt/res/images"] +basePath = subprocess.check_output("git rev-parse --show-toplevel", shell=True).rstrip('\n') +totalSaveBytes = 0 + +outputArray = [] +for folder in folders: + absFolder=os.path.join(basePath, folder) + for file in os.listdir(absFolder): + extension = os.path.splitext(file)[1] + if extension.lower() == '.png': + print("optimizing "+file+"..."), + file_path = os.path.join(absFolder, file) + fileMetaMap = {'file' : file, 'osize': os.path.getsize(file_path), 'sha256Old' : subprocess.check_output("openssl dgst -sha256 "+file_path, shell=True).rstrip('\n')}; + + pngCrushOutput = "" + try: + pngCrushOutput = subprocess.check_output("pngcrush -brute -ow -rem gAMA -rem cHRM -rem iCCP -rem sRGB -rem alla -rem text "+file_path+" >/dev/null 2>&1", shell=True).rstrip('\n') + except: + print "pngcrush is not installed, aborting..." + sys.exit(0) + + #verify + if "Not a PNG file" in subprocess.check_output("pngcrush -n -v "+file_path+" >/dev/null 2>&1", shell=True): + print "PNG file "+file+" is corrupted after crushing, check out pngcursh version" + sys.exit(1) + + + fileMetaMap['sha256New'] = subprocess.check_output("openssl dgst -sha256 "+file_path, shell=True).rstrip('\n') + fileMetaMap['psize'] = os.path.getsize(file_path) + outputArray.append(fileMetaMap) + print("done\n"), + +print "summary:\n+++++++++++++++++" +for fileDict in outputArray: + oldHash = fileDict['sha256Old'].split("= ")[1] + newHash = fileDict['sha256New'].split("= ")[1] + totalSaveBytes += fileDict['osize'] - fileDict['psize'] + print fileDict['file']+"\n size diff from: "+str(fileDict['osize'])+" to: "+str(fileDict['psize'])+"\n old sha256: "+oldHash+"\n new sha256: "+newHash+"\n" + +print "completed. Total reduction: "+str(totalSaveBytes)+" bytes" \ No newline at end of file diff --git a/src/qt/res/icons/about.png b/src/qt/res/icons/about.png index eeef94335..83eb3c07e 100644 Binary files a/src/qt/res/icons/about.png and b/src/qt/res/icons/about.png differ diff --git a/src/qt/res/icons/about_qt.png b/src/qt/res/icons/about_qt.png index d3665e989..dd27a99d0 100644 Binary files a/src/qt/res/icons/about_qt.png and b/src/qt/res/icons/about_qt.png differ diff --git a/src/qt/res/icons/add.png b/src/qt/res/icons/add.png index ef995cc0b..7e46672f2 100644 Binary files a/src/qt/res/icons/add.png and b/src/qt/res/icons/add.png differ diff --git a/src/qt/res/icons/address-book.png b/src/qt/res/icons/address-book.png index 0c9238c18..b11c7d535 100644 Binary files a/src/qt/res/icons/address-book.png and b/src/qt/res/icons/address-book.png differ diff --git a/src/qt/res/icons/bitcoin.png b/src/qt/res/icons/bitcoin.png index 705a20260..435621af2 100644 Binary files a/src/qt/res/icons/bitcoin.png and b/src/qt/res/icons/bitcoin.png differ diff --git a/src/qt/res/icons/clock1.png b/src/qt/res/icons/clock1.png index 65adba5e2..ceae5ed0d 100644 Binary files a/src/qt/res/icons/clock1.png and b/src/qt/res/icons/clock1.png differ diff --git a/src/qt/res/icons/clock2.png b/src/qt/res/icons/clock2.png index 196a79ce4..159f69a8f 100644 Binary files a/src/qt/res/icons/clock2.png and b/src/qt/res/icons/clock2.png differ diff --git a/src/qt/res/icons/clock3.png b/src/qt/res/icons/clock3.png index 3d04655ed..d668e35ff 100644 Binary files a/src/qt/res/icons/clock3.png and b/src/qt/res/icons/clock3.png differ diff --git a/src/qt/res/icons/clock4.png b/src/qt/res/icons/clock4.png index c3210c5af..5ebf8ed7a 100644 Binary files a/src/qt/res/icons/clock4.png and b/src/qt/res/icons/clock4.png differ diff --git a/src/qt/res/icons/clock5.png b/src/qt/res/icons/clock5.png index 84a9fa284..96f15ef7d 100644 Binary files a/src/qt/res/icons/clock5.png and b/src/qt/res/icons/clock5.png differ diff --git a/src/qt/res/icons/configure.png b/src/qt/res/icons/configure.png index fe9c6ec5e..5333c83d5 100644 Binary files a/src/qt/res/icons/configure.png and b/src/qt/res/icons/configure.png differ diff --git a/src/qt/res/icons/connect0.png b/src/qt/res/icons/connect0.png index 99bb2575d..58e2c3e96 100644 Binary files a/src/qt/res/icons/connect0.png and b/src/qt/res/icons/connect0.png differ diff --git a/src/qt/res/icons/connect1.png b/src/qt/res/icons/connect1.png index dffc692c7..949e7a922 100644 Binary files a/src/qt/res/icons/connect1.png and b/src/qt/res/icons/connect1.png differ diff --git a/src/qt/res/icons/connect2.png b/src/qt/res/icons/connect2.png index 3594fb117..143b2054f 100644 Binary files a/src/qt/res/icons/connect2.png and b/src/qt/res/icons/connect2.png differ diff --git a/src/qt/res/icons/connect3.png b/src/qt/res/icons/connect3.png index 3594fb117..143b2054f 100644 Binary files a/src/qt/res/icons/connect3.png and b/src/qt/res/icons/connect3.png differ diff --git a/src/qt/res/icons/connect4.png b/src/qt/res/icons/connect4.png index 0c667c7e0..f96e3455c 100644 Binary files a/src/qt/res/icons/connect4.png and b/src/qt/res/icons/connect4.png differ diff --git a/src/qt/res/icons/debugwindow.png b/src/qt/res/icons/debugwindow.png index 576e57ab0..290fe6086 100644 Binary files a/src/qt/res/icons/debugwindow.png and b/src/qt/res/icons/debugwindow.png differ diff --git a/src/qt/res/icons/edit.png b/src/qt/res/icons/edit.png index 4df2229e9..46582716e 100644 Binary files a/src/qt/res/icons/edit.png and b/src/qt/res/icons/edit.png differ diff --git a/src/qt/res/icons/editcopy.png b/src/qt/res/icons/editcopy.png index db0c51772..74ac8b277 100644 Binary files a/src/qt/res/icons/editcopy.png and b/src/qt/res/icons/editcopy.png differ diff --git a/src/qt/res/icons/editpaste.png b/src/qt/res/icons/editpaste.png index be8634674..7b47f4d52 100644 Binary files a/src/qt/res/icons/editpaste.png and b/src/qt/res/icons/editpaste.png differ diff --git a/src/qt/res/icons/export.png b/src/qt/res/icons/export.png index 18d059619..ac76cc1ef 100644 Binary files a/src/qt/res/icons/export.png and b/src/qt/res/icons/export.png differ diff --git a/src/qt/res/icons/eye.png b/src/qt/res/icons/eye.png index 7036708de..f2f139dbb 100644 Binary files a/src/qt/res/icons/eye.png and b/src/qt/res/icons/eye.png differ diff --git a/src/qt/res/icons/eye_minus.png b/src/qt/res/icons/eye_minus.png index bdbe07362..795bf6436 100644 Binary files a/src/qt/res/icons/eye_minus.png and b/src/qt/res/icons/eye_minus.png differ diff --git a/src/qt/res/icons/eye_plus.png b/src/qt/res/icons/eye_plus.png index 2ba5e68c7..eaab69297 100644 Binary files a/src/qt/res/icons/eye_plus.png and b/src/qt/res/icons/eye_plus.png differ diff --git a/src/qt/res/icons/filesave.png b/src/qt/res/icons/filesave.png index a53390f59..f4e6f58d0 100644 Binary files a/src/qt/res/icons/filesave.png and b/src/qt/res/icons/filesave.png differ diff --git a/src/qt/res/icons/history.png b/src/qt/res/icons/history.png index cb723abc5..68d841fa8 100644 Binary files a/src/qt/res/icons/history.png and b/src/qt/res/icons/history.png differ diff --git a/src/qt/res/icons/info.png b/src/qt/res/icons/info.png index 085fa8ea7..692b50c2a 100644 Binary files a/src/qt/res/icons/info.png and b/src/qt/res/icons/info.png differ diff --git a/src/qt/res/icons/key.png b/src/qt/res/icons/key.png index d21f81364..f301c4f38 100644 Binary files a/src/qt/res/icons/key.png and b/src/qt/res/icons/key.png differ diff --git a/src/qt/res/icons/lock_closed.png b/src/qt/res/icons/lock_closed.png index 77914ab2c..1bd98b21a 100644 Binary files a/src/qt/res/icons/lock_closed.png and b/src/qt/res/icons/lock_closed.png differ diff --git a/src/qt/res/icons/lock_open.png b/src/qt/res/icons/lock_open.png index 50615b733..a7045133b 100644 Binary files a/src/qt/res/icons/lock_open.png and b/src/qt/res/icons/lock_open.png differ diff --git a/src/qt/res/icons/open.png b/src/qt/res/icons/open.png index 390d3dab6..4d958f0e1 100644 Binary files a/src/qt/res/icons/open.png and b/src/qt/res/icons/open.png differ diff --git a/src/qt/res/icons/overview.png b/src/qt/res/icons/overview.png index 36e1003c3..411595413 100644 Binary files a/src/qt/res/icons/overview.png and b/src/qt/res/icons/overview.png differ diff --git a/src/qt/res/icons/quit.png b/src/qt/res/icons/quit.png index 6e44a2d32..55e34de4b 100644 Binary files a/src/qt/res/icons/quit.png and b/src/qt/res/icons/quit.png differ diff --git a/src/qt/res/icons/receive.png b/src/qt/res/icons/receive.png index a53390f59..f4e6f58d0 100644 Binary files a/src/qt/res/icons/receive.png and b/src/qt/res/icons/receive.png differ diff --git a/src/qt/res/icons/remove.png b/src/qt/res/icons/remove.png index 3849cdd6d..8e738d630 100644 Binary files a/src/qt/res/icons/remove.png and b/src/qt/res/icons/remove.png differ diff --git a/src/qt/res/icons/send.png b/src/qt/res/icons/send.png index 18d059619..ac76cc1ef 100644 Binary files a/src/qt/res/icons/send.png and b/src/qt/res/icons/send.png differ diff --git a/src/qt/res/icons/synced.png b/src/qt/res/icons/synced.png index d33914f0b..5ac28d36a 100644 Binary files a/src/qt/res/icons/synced.png and b/src/qt/res/icons/synced.png differ diff --git a/src/qt/res/icons/transaction0.png b/src/qt/res/icons/transaction0.png index fd41da068..1091b86e6 100644 Binary files a/src/qt/res/icons/transaction0.png and b/src/qt/res/icons/transaction0.png differ diff --git a/src/qt/res/icons/transaction2.png b/src/qt/res/icons/transaction2.png index d33914f0b..5ac28d36a 100644 Binary files a/src/qt/res/icons/transaction2.png and b/src/qt/res/icons/transaction2.png differ diff --git a/src/qt/res/icons/transaction_conflicted.png b/src/qt/res/icons/transaction_conflicted.png index 6e44a2d32..55e34de4b 100644 Binary files a/src/qt/res/icons/transaction_conflicted.png and b/src/qt/res/icons/transaction_conflicted.png differ diff --git a/src/qt/res/icons/tx_inout.png b/src/qt/res/icons/tx_inout.png index cecd332ad..0a6e72a89 100644 Binary files a/src/qt/res/icons/tx_inout.png and b/src/qt/res/icons/tx_inout.png differ diff --git a/src/qt/res/icons/tx_input.png b/src/qt/res/icons/tx_input.png index 1b4cfd967..9e9ee9293 100644 Binary files a/src/qt/res/icons/tx_input.png and b/src/qt/res/icons/tx_input.png differ diff --git a/src/qt/res/icons/tx_mined.png b/src/qt/res/icons/tx_mined.png index 421a9cf63..5a6ef521c 100644 Binary files a/src/qt/res/icons/tx_mined.png and b/src/qt/res/icons/tx_mined.png differ diff --git a/src/qt/res/icons/tx_output.png b/src/qt/res/icons/tx_output.png index 06d9d0adf..6f66ab654 100644 Binary files a/src/qt/res/icons/tx_output.png and b/src/qt/res/icons/tx_output.png differ diff --git a/src/qt/res/icons/verify.png b/src/qt/res/icons/verify.png index 9ff35c279..8e2cb2cc1 100644 Binary files a/src/qt/res/icons/verify.png and b/src/qt/res/icons/verify.png differ diff --git a/src/qt/res/movies/spinner-000.png b/src/qt/res/movies/spinner-000.png index b296a5848..1e92d859d 100644 Binary files a/src/qt/res/movies/spinner-000.png and b/src/qt/res/movies/spinner-000.png differ diff --git a/src/qt/res/movies/spinner-001.png b/src/qt/res/movies/spinner-001.png index 4f6f9a487..d167f2054 100644 Binary files a/src/qt/res/movies/spinner-001.png and b/src/qt/res/movies/spinner-001.png differ diff --git a/src/qt/res/movies/spinner-002.png b/src/qt/res/movies/spinner-002.png index 4f14e3ca9..4a1f1f8e5 100644 Binary files a/src/qt/res/movies/spinner-002.png and b/src/qt/res/movies/spinner-002.png differ diff --git a/src/qt/res/movies/spinner-003.png b/src/qt/res/movies/spinner-003.png index d7756e73b..fb1c2cd4a 100644 Binary files a/src/qt/res/movies/spinner-003.png and b/src/qt/res/movies/spinner-003.png differ diff --git a/src/qt/res/movies/spinner-004.png b/src/qt/res/movies/spinner-004.png index 4b381b81b..4df213234 100644 Binary files a/src/qt/res/movies/spinner-004.png and b/src/qt/res/movies/spinner-004.png differ diff --git a/src/qt/res/movies/spinner-005.png b/src/qt/res/movies/spinner-005.png index cbdb5b579..5d6f41e0d 100644 Binary files a/src/qt/res/movies/spinner-005.png and b/src/qt/res/movies/spinner-005.png differ diff --git a/src/qt/res/movies/spinner-006.png b/src/qt/res/movies/spinner-006.png index 55d4540c9..c1f7d1889 100644 Binary files a/src/qt/res/movies/spinner-006.png and b/src/qt/res/movies/spinner-006.png differ diff --git a/src/qt/res/movies/spinner-007.png b/src/qt/res/movies/spinner-007.png index b25f59a44..1e794b262 100644 Binary files a/src/qt/res/movies/spinner-007.png and b/src/qt/res/movies/spinner-007.png differ diff --git a/src/qt/res/movies/spinner-008.png b/src/qt/res/movies/spinner-008.png index 6493184a7..df12ea871 100644 Binary files a/src/qt/res/movies/spinner-008.png and b/src/qt/res/movies/spinner-008.png differ diff --git a/src/qt/res/movies/spinner-009.png b/src/qt/res/movies/spinner-009.png index 938c49f9d..18fc3a7d1 100644 Binary files a/src/qt/res/movies/spinner-009.png and b/src/qt/res/movies/spinner-009.png differ diff --git a/src/qt/res/movies/spinner-010.png b/src/qt/res/movies/spinner-010.png index 7eb645eda..a79c845fe 100644 Binary files a/src/qt/res/movies/spinner-010.png and b/src/qt/res/movies/spinner-010.png differ diff --git a/src/qt/res/movies/spinner-011.png b/src/qt/res/movies/spinner-011.png index fd4b63ca5..57baf6689 100644 Binary files a/src/qt/res/movies/spinner-011.png and b/src/qt/res/movies/spinner-011.png differ diff --git a/src/qt/res/movies/spinner-012.png b/src/qt/res/movies/spinner-012.png index 10d26a3a5..9deae7853 100644 Binary files a/src/qt/res/movies/spinner-012.png and b/src/qt/res/movies/spinner-012.png differ diff --git a/src/qt/res/movies/spinner-013.png b/src/qt/res/movies/spinner-013.png index 863a9d290..0659d48de 100644 Binary files a/src/qt/res/movies/spinner-013.png and b/src/qt/res/movies/spinner-013.png differ diff --git a/src/qt/res/movies/spinner-014.png b/src/qt/res/movies/spinner-014.png index d01086cb9..bc1ef51bd 100644 Binary files a/src/qt/res/movies/spinner-014.png and b/src/qt/res/movies/spinner-014.png differ diff --git a/src/qt/res/movies/spinner-015.png b/src/qt/res/movies/spinner-015.png index 402dbea69..24b57b62c 100644 Binary files a/src/qt/res/movies/spinner-015.png and b/src/qt/res/movies/spinner-015.png differ diff --git a/src/qt/res/movies/spinner-016.png b/src/qt/res/movies/spinner-016.png index 1db20e607..d62287265 100644 Binary files a/src/qt/res/movies/spinner-016.png and b/src/qt/res/movies/spinner-016.png differ diff --git a/src/qt/res/movies/spinner-017.png b/src/qt/res/movies/spinner-017.png index e2c2e2ef7..f48f688db 100644 Binary files a/src/qt/res/movies/spinner-017.png and b/src/qt/res/movies/spinner-017.png differ diff --git a/src/qt/res/movies/spinner-018.png b/src/qt/res/movies/spinner-018.png index 6f1fe7375..a2c8f38b1 100644 Binary files a/src/qt/res/movies/spinner-018.png and b/src/qt/res/movies/spinner-018.png differ diff --git a/src/qt/res/movies/spinner-019.png b/src/qt/res/movies/spinner-019.png index 5f18f6560..9d7cc35d8 100644 Binary files a/src/qt/res/movies/spinner-019.png and b/src/qt/res/movies/spinner-019.png differ diff --git a/src/qt/res/movies/spinner-020.png b/src/qt/res/movies/spinner-020.png index c12ae2001..1a07acc45 100644 Binary files a/src/qt/res/movies/spinner-020.png and b/src/qt/res/movies/spinner-020.png differ diff --git a/src/qt/res/movies/spinner-021.png b/src/qt/res/movies/spinner-021.png index d81ceade2..9cea8f254 100644 Binary files a/src/qt/res/movies/spinner-021.png and b/src/qt/res/movies/spinner-021.png differ diff --git a/src/qt/res/movies/spinner-022.png b/src/qt/res/movies/spinner-022.png index 69c665794..60250f6de 100644 Binary files a/src/qt/res/movies/spinner-022.png and b/src/qt/res/movies/spinner-022.png differ diff --git a/src/qt/res/movies/spinner-023.png b/src/qt/res/movies/spinner-023.png index 7bed5bae8..fc290a0cf 100644 Binary files a/src/qt/res/movies/spinner-023.png and b/src/qt/res/movies/spinner-023.png differ diff --git a/src/qt/res/movies/spinner-024.png b/src/qt/res/movies/spinner-024.png index b3be8d3e8..c5dcf1eae 100644 Binary files a/src/qt/res/movies/spinner-024.png and b/src/qt/res/movies/spinner-024.png differ diff --git a/src/qt/res/movies/spinner-025.png b/src/qt/res/movies/spinner-025.png index 3a7fa9ab0..7f3577a4d 100644 Binary files a/src/qt/res/movies/spinner-025.png and b/src/qt/res/movies/spinner-025.png differ diff --git a/src/qt/res/movies/spinner-026.png b/src/qt/res/movies/spinner-026.png index dd92fc4fc..1663ddf44 100644 Binary files a/src/qt/res/movies/spinner-026.png and b/src/qt/res/movies/spinner-026.png differ diff --git a/src/qt/res/movies/spinner-027.png b/src/qt/res/movies/spinner-027.png index 9adefee26..d0e6da450 100644 Binary files a/src/qt/res/movies/spinner-027.png and b/src/qt/res/movies/spinner-027.png differ diff --git a/src/qt/res/movies/spinner-028.png b/src/qt/res/movies/spinner-028.png index 83e7cdd58..2a7aba50e 100644 Binary files a/src/qt/res/movies/spinner-028.png and b/src/qt/res/movies/spinner-028.png differ diff --git a/src/qt/res/movies/spinner-029.png b/src/qt/res/movies/spinner-029.png index 6cbdbb0fe..c8ca15c1e 100644 Binary files a/src/qt/res/movies/spinner-029.png and b/src/qt/res/movies/spinner-029.png differ diff --git a/src/qt/res/movies/spinner-030.png b/src/qt/res/movies/spinner-030.png index e4a09a44b..c847c99a9 100644 Binary files a/src/qt/res/movies/spinner-030.png and b/src/qt/res/movies/spinner-030.png differ diff --git a/src/qt/res/movies/spinner-031.png b/src/qt/res/movies/spinner-031.png index 3c3d50574..403443144 100644 Binary files a/src/qt/res/movies/spinner-031.png and b/src/qt/res/movies/spinner-031.png differ diff --git a/src/qt/res/movies/spinner-032.png b/src/qt/res/movies/spinner-032.png index 7460f80da..f9db08056 100644 Binary files a/src/qt/res/movies/spinner-032.png and b/src/qt/res/movies/spinner-032.png differ diff --git a/src/qt/res/movies/spinner-033.png b/src/qt/res/movies/spinner-033.png index d327e8fb0..43f57719e 100644 Binary files a/src/qt/res/movies/spinner-033.png and b/src/qt/res/movies/spinner-033.png differ diff --git a/src/qt/res/movies/spinner-034.png b/src/qt/res/movies/spinner-034.png index d8432751d..c26656ff1 100644 Binary files a/src/qt/res/movies/spinner-034.png and b/src/qt/res/movies/spinner-034.png differ diff --git a/src/qt/res/movies/spinner-035.png b/src/qt/res/movies/spinner-035.png index c89c959c9..e471f950a 100644 Binary files a/src/qt/res/movies/spinner-035.png and b/src/qt/res/movies/spinner-035.png differ