summaryrefslogtreecommitdiff
path: root/Script/mark_image.py
blob: 9de306338401bd01056cd956538dade6710c064e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env python

from __future__ import division
import sys
import cairo


if len(sys.argv) < 8:
	print "Usage: mark_image.py <file>.png <text> <color> <X1> <Y1> <X2> <Y2>  (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 "<X2> has to be bigger than <X1> !"
	sys.exit (1)

if y1 >= y2:
	print "<Y2> has to be bigger than <Y1> !"
	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)