From 755f49e71564ef7e1d2240c7ea0358adecb2f174 Mon Sep 17 00:00:00 2001 From: Manuel Bachmann Date: Thu, 14 Aug 2014 18:04:25 +0200 Subject: [PATCH] Add "mark_image.py" tool mark_image.py is a Python script able to write colored text on any selected position of a .png image. Change-Id: Ib3b616707bc43d1fd493878cc3e1061dac19ebd1 Signed-off-by: Manuel Bachmann --- Script/mark_image.py | 52 +++++++++++++++++++++++++++++++++++++++++++++ packaging/desktop-skin.spec | 3 +++ 2 files changed, 55 insertions(+) create mode 100755 Script/mark_image.py diff --git a/Script/mark_image.py b/Script/mark_image.py new file mode 100755 index 0000000..bc84163 --- /dev/null +++ b/Script/mark_image.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python + +import sys +import cairo + + +if len(sys.argv) < 8: + print "Usage: mark_image.py .png (000000 < color < ffffff) (0 < X/Y < 100)" + sys.exit (0) + + +file = str(sys.argv[1]) +text = str(sys.argv[2]) +c_red = (int(sys.argv[3], 16) >> 16) & 0xff; +c_green = (int(sys.argv[3], 16) >> 8) & 0xff; +c_blue = int(sys.argv[3], 16) & 0xff; +x1 = int(sys.argv[4]) +y1 = int(sys.argv[5]) +x2 = int(sys.argv[6]) +y2 = int(sys.argv[7]) + +if x1 >= x2: + print " has to be bigger than !" + sys.exit (1) + +if y1 >= y2: + print " has to be bigger than !" + sys.exit (1) + + +surface = cairo.ImageSurface.create_from_png (file) +context = cairo.Context (surface) + + +width = surface.get_width () +height = surface.get_height () + +size = 6 +context.set_font_size (size) +xext,yext,wext,hext,xaext,yaext = context.text_extents (text) + +while ((x2-x1)*width)/100 > wext: + size += 1 + context.set_font_size (size) + xext,yext,wext,hext,xaext,yaext = context.text_extents (text) + + +context.move_to ((x1*width)/100, (y1*height)/100) +context.set_source_rgb (c_red/255, c_green/255, c_blue/255) +context.show_text (text) + +surface.write_to_png (file) diff --git a/packaging/desktop-skin.spec b/packaging/desktop-skin.spec index bfd7686..831428a 100644 --- a/packaging/desktop-skin.spec +++ b/packaging/desktop-skin.spec @@ -6,6 +6,8 @@ License: GPL-2.0+ Release: 1 Source0: %{name}-%{version}.tar.gz +Requires: python-cairo + %description Provides desktop visuals and test programs - desktop background @@ -22,6 +24,7 @@ Provides desktop visuals and test programs mkdir -p %{buildroot}%{_bindir} install -m 755 Script/launch_cam.sh %{buildroot}%{_bindir} install -m 755 Script/launch_video.sh %{buildroot}%{_bindir} +install -m 755 Script/mark_image.py %{buildroot}%{_bindir} install -m 755 Script/wifi %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/media/videos -- 2.7.4