From a68593afa1a65cd7621ca9eca169e0dd9e22472b Mon Sep 17 00:00:00 2001 From: stubbfel Date: Thu, 29 Aug 2013 16:07:12 +0200 Subject: [PATCH] create function icon --- CampusAppWP8/CampusAppW8.sln | 10 ++ CampusAppWP8/IconCreator/IconCreator.py | 8 -- CampusAppWP8/IconCreator/IconCreator.pyproj | 11 +- .../IconCreator/scripts/IconCreator.py | 29 +++++ .../IconCreator/scripts/createspng.py | 9 ++ CampusAppWP8/IconCreator/test.svg | 114 ------------------ 6 files changed, 55 insertions(+), 126 deletions(-) delete mode 100644 CampusAppWP8/IconCreator/IconCreator.py create mode 100644 CampusAppWP8/IconCreator/scripts/IconCreator.py create mode 100644 CampusAppWP8/IconCreator/scripts/createspng.py delete mode 100644 CampusAppWP8/IconCreator/test.svg diff --git a/CampusAppWP8/CampusAppW8.sln b/CampusAppWP8/CampusAppW8.sln index 389dbe1c..97cdc60d 100644 --- a/CampusAppWP8/CampusAppW8.sln +++ b/CampusAppWP8/CampusAppW8.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CampusAppWStore8", "Campuss EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CampusAppWPortalLib8", "CampusAppWPortalLib8\CampusAppWPortalLib8.csproj", "{67D80BE2-0FB7-44C8-A495-7D44FC2AC262}" EndProject +Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "IconCreator", "IconCreator\IconCreator.pyproj", "{78E8DC22-F4E1-42D9-BA04-93EA031C630C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -73,6 +75,14 @@ Global {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|ARM.ActiveCfg = Release|Any CPU {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|x64.ActiveCfg = Release|Any CPU {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|x86.ActiveCfg = Release|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Debug|ARM.ActiveCfg = Debug|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Debug|x64.ActiveCfg = Debug|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Debug|x86.ActiveCfg = Debug|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Release|ARM.ActiveCfg = Release|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Release|x64.ActiveCfg = Release|Any CPU + {78E8DC22-F4E1-42D9-BA04-93EA031C630C}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CampusAppWP8/IconCreator/IconCreator.py b/CampusAppWP8/IconCreator/IconCreator.py deleted file mode 100644 index b7fc7978..00000000 --- a/CampusAppWP8/IconCreator/IconCreator.py +++ /dev/null @@ -1,8 +0,0 @@ -import cairo -import rsvg - -img = cairo.ImageSurface(cairo.FORMAT_ARGB32, 640,480) -ctx = cairo.Context(img) -handler= rsvg.Handle(str("test.svg")) -handler.render_cairo(ctx) -img.write_to_png("svg.png") \ No newline at end of file diff --git a/CampusAppWP8/IconCreator/IconCreator.pyproj b/CampusAppWP8/IconCreator/IconCreator.pyproj index 67539081..5e357181 100644 --- a/CampusAppWP8/IconCreator/IconCreator.pyproj +++ b/CampusAppWP8/IconCreator/IconCreator.pyproj @@ -5,9 +5,9 @@ 2.0 78e8dc22-f4e1-42d9-ba04-93ea031c630c . - IconCreator.py - - + + + scripts\ . . IconCreator @@ -22,12 +22,15 @@ false - + + + + diff --git a/CampusAppWP8/IconCreator/scripts/IconCreator.py b/CampusAppWP8/IconCreator/scripts/IconCreator.py new file mode 100644 index 00000000..55c887ed --- /dev/null +++ b/CampusAppWP8/IconCreator/scripts/IconCreator.py @@ -0,0 +1,29 @@ +import cairo +import rsvg +import xml.etree.ElementTree as ET + +def convertSVGToPNG(src, dst, dstWidth, dstHeight, srcWidth, srcHeight, style,layerID): + ET.register_namespace("","http://www.w3.org/2000/svg") + + tree = ET.parse(src) + root = tree.getroot() + + for layer in root.findall('./{http://www.w3.org/2000/svg}g'): + name = layer.get('{http://www.inkscape.org/namespaces/inkscape}label') + if name != layerID : + root.remove(layer) + else : + for path in layer.findall('./{http://www.w3.org/2000/svg}path'): + path.set("style",style) + + img = cairo.ImageSurface(cairo.FORMAT_ARGB32, dstWidth, dstHeight) + ctx = cairo.Context(img) + + width_ratio = float(dstWidth) / float(srcWidth) + height_ratio = float(dstHeight) / float(srcHeight) + ctx.scale(width_ratio, height_ratio) + + handler= rsvg.Handle(None,str(ET.tostring(root, encoding='utf8', method='xml'))) + handler.render_cairo(ctx) + + img.write_to_png(dst) \ No newline at end of file diff --git a/CampusAppWP8/IconCreator/scripts/createspng.py b/CampusAppWP8/IconCreator/scripts/createspng.py new file mode 100644 index 00000000..b54d1c07 --- /dev/null +++ b/CampusAppWP8/IconCreator/scripts/createspng.py @@ -0,0 +1,9 @@ +import IconCreator +import os +os.chdir("srcImages/functions") +for files in os.listdir("."): + if files.endswith(".svg"): + fileName, fileExtension = os.path.splitext(files) + IconCreator.convertSVGToPNG(files, "../../dstImages/wp8/159x159/LightTheme/functions/"+fileName+".png",159,159,256,256,"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" , "Icon") + IconCreator.convertSVGToPNG(files, "../../dstImages/wp8/159x159/DarkTheme/functions/"+fileName+".png",159,159,256,256,"fill:#FFFFFF;fill-opacity:1;fill-rule:evenodd;stroke:none", "Icon") + diff --git a/CampusAppWP8/IconCreator/test.svg b/CampusAppWP8/IconCreator/test.svg deleted file mode 100644 index bb518997..00000000 --- a/CampusAppWP8/IconCreator/test.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - -