Brion VIBBER has submitted this change and it was merged. Change subject: Add python script that generates pngs from svgs ......................................................................
Add python script that generates pngs from svgs - Requires rsvg-convert and the python sh module - Has svgs in subfolders of icon-svgs/, where the name of the subfolder is taken to be the size of the (square) icon in dp - Also add ldpi support. 8% of devices, and it is trivial for us to support anyway - Maintains aspect ratio by fixing height Change-Id: Icd9a8fbc9ff698036c28f53060c120ebe46165af --- A icon-svgs/32/external.png R icon-svgs/32/external.svg A icon-svgs/32/link.png R icon-svgs/32/link.svg A icon-svgs/32/random.png R icon-svgs/32/random.svg A icon-svgs/32/search.png R icon-svgs/32/search.svg A scripts/convert-icons.py D wikipedia/convertify.bash A wikipedia/res/drawable-ldpi/external.png A wikipedia/res/drawable-ldpi/link.png A wikipedia/res/drawable-ldpi/random.png A wikipedia/res/drawable-ldpi/search.png 14 files changed, 40 insertions(+), 11 deletions(-) Approvals: Brion VIBBER: Verified; Looks good to me, approved diff --git a/icon-svgs/32/external.png b/icon-svgs/32/external.png new file mode 100644 index 0000000..f4e4b0e --- /dev/null +++ b/icon-svgs/32/external.png Binary files differ diff --git a/wikipedia/icon-sources/external.svg b/icon-svgs/32/external.svg similarity index 100% rename from wikipedia/icon-sources/external.svg rename to icon-svgs/32/external.svg old mode 100755 new mode 100644 diff --git a/icon-svgs/32/link.png b/icon-svgs/32/link.png new file mode 100644 index 0000000..41a2d19 --- /dev/null +++ b/icon-svgs/32/link.png Binary files differ diff --git a/wikipedia/icon-sources/link.svg b/icon-svgs/32/link.svg similarity index 100% rename from wikipedia/icon-sources/link.svg rename to icon-svgs/32/link.svg old mode 100755 new mode 100644 diff --git a/icon-svgs/32/random.png b/icon-svgs/32/random.png new file mode 100644 index 0000000..2d959dc --- /dev/null +++ b/icon-svgs/32/random.png Binary files differ diff --git a/wikipedia/icon-sources/random.svg b/icon-svgs/32/random.svg similarity index 100% rename from wikipedia/icon-sources/random.svg rename to icon-svgs/32/random.svg old mode 100755 new mode 100644 diff --git a/icon-svgs/32/search.png b/icon-svgs/32/search.png new file mode 100644 index 0000000..ee49761 --- /dev/null +++ b/icon-svgs/32/search.png Binary files differ diff --git a/wikipedia/icon-sources/search.svg b/icon-svgs/32/search.svg similarity index 100% rename from wikipedia/icon-sources/search.svg rename to icon-svgs/32/search.svg old mode 100755 new mode 100644 diff --git a/scripts/convert-icons.py b/scripts/convert-icons.py new file mode 100644 index 0000000..0cd073d --- /dev/null +++ b/scripts/convert-icons.py @@ -0,0 +1,40 @@ +import os +import sh + +from glob import glob + +DENSITIES = { + "ldpi": 0.75, + "mdpi": 1, + "hdpi": 1.5, + "xhdpi": 2, + "xxhdpi": 3 +} + +OUTPUT_PATH_PREFIX = os.path.abspath(os.path.join(os.path.dirname(__file__), "../wikipedia/res/")) + + +class ImagesBatch(object): + def __init__(self, path): + self.dp = int(os.path.basename(path)) + self.path = path + self.svgs = [os.path.abspath(p) for p in glob(os.path.join(path, "*.svg"))] + + def _do_export(self, density, input_path): + file_name = os.path.basename(os.path.splitext(input_path)[0] + ".png") + output_file_path = os.path.join(OUTPUT_PATH_PREFIX, "drawable-" + density, file_name) + px = int(DENSITIES[density] * self.dp) + sh.rsvg_convert(input_path, "-a", h=px, o=output_file_path) + + def convert(self): + for svg in self.svgs: + for density in DENSITIES.keys(): + self._do_export(density, svg) + print u"\u2713 %s" % os.path.basename(svg) + + +if __name__ == "__main__": + paths = glob(os.path.join(os.path.dirname(__file__), "../icon-svgs/*")) + for path in paths: + ib = ImagesBatch(path) + ib.convert() diff --git a/wikipedia/convertify.bash b/wikipedia/convertify.bash deleted file mode 100755 index 10bc087..0000000 --- a/wikipedia/convertify.bash +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -for F in icon-sources/*; -do - echo "Converting $F" - IMGNAME=`basename $F .svg` - rsvg-convert -w 32 -h 32 -o "res/drawable-mdpi/$IMGNAME.png" "$F" - rsvg-convert -w 48 -h 48 -o "res/drawable-hdpi/$IMGNAME.png" "$F" - rsvg-convert -w 72 -h 72 -o "res/drawable-xhdpi/$IMGNAME.png" "$F" - rsvg-convert -w 96 -h 96 -o "res/drawable-xxhdpi/$IMGNAME.png" "$F" -done diff --git a/wikipedia/res/drawable-ldpi/external.png b/wikipedia/res/drawable-ldpi/external.png new file mode 100644 index 0000000..28d9f26 --- /dev/null +++ b/wikipedia/res/drawable-ldpi/external.png Binary files differ diff --git a/wikipedia/res/drawable-ldpi/link.png b/wikipedia/res/drawable-ldpi/link.png new file mode 100644 index 0000000..e7a2e1c --- /dev/null +++ b/wikipedia/res/drawable-ldpi/link.png Binary files differ diff --git a/wikipedia/res/drawable-ldpi/random.png b/wikipedia/res/drawable-ldpi/random.png new file mode 100644 index 0000000..6e851b0 --- /dev/null +++ b/wikipedia/res/drawable-ldpi/random.png Binary files differ diff --git a/wikipedia/res/drawable-ldpi/search.png b/wikipedia/res/drawable-ldpi/search.png new file mode 100644 index 0000000..d504955 --- /dev/null +++ b/wikipedia/res/drawable-ldpi/search.png Binary files differ -- To view, visit https://gerrit.wikimedia.org/r/119016 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Icd9a8fbc9ff698036c28f53060c120ebe46165af Gerrit-PatchSet: 3 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits