#!/usr/bin/python2.3

#tante import
import os, sys, math
import Image
import ImageDraw
import ImageFont


#files im folderöffnen
filepath = "/home/olsen/netart/bike_ludlow/frms/"
savepath = "/home/olsen/netart/bike_ludlow/rgb_frms/"
savepath2 = "/home/olsen/netart/bike_ludlow/arc_frms/"
start = 10
end = 696
suffix = ".jpg"
semiseq = ((end - start)/2)
print "das ding brauch", semiseq, "*2 frames"


#converts a point(x,y,z) in 3-dim for 2-dim display(x,y)
def z_2dim(x,y,z):
	        degrees = -30
		angle = degrees * 2 * math.pi /360.0
		x = x+math.cos(angle)*z
		y = y+math.sin(angle)*z
		return x,y
					
def hexdraw():
	for i in range(start, end):
		# %s - string, %08i - integer mit 8 führenden nullen, %s - string
		filename = "%s%06i%s" % (filepath, i, suffix)
		print "File: %s"% file, "Frame=", i
		#f = open(file)
		#f.close()
		#dasistdiefunktion(data)

		##image openeer
		img = Image.open (filename)
		print 'image=', img.format, img.size, img.mode
		
		#arc canvas
		arc_canvas = Image.new ( "RGB", (800,240) , (185,200,230) )
		#rgb canvas
		rgb_canvas = Image.new ( "RGB", (800,720) , (185,200,230) )
		print 'canvas=', arc_canvas.format, arc_canvas.size, arc_canvas.mode

		xmax = int(img.size[0])
		ymax = int(img.size[1])
		print xmax, ymax
		x = 0
		y = 0
		#offset
		osx = 730
		osy = 150
		lum2 = 0
		v = -250
		
		#loop n draw
		while x < (xmax): #width/x pixel 
			while y < ymax:
				#print 'ypiksel=', y, 'xpixel =', x
				res = 15 
				rgb = img.getpixel ((x, y))
				lum = int(0.299*rgb[0] + 0.587*rgb[1] + 0.114*rgb[2])
				hex = "#%02X%02X%02X" % rgb
				font  = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMono.ttf', lum/4)
				#font  = ImageFont.truetype('/usr/share/fonts/type1/gsfonts/c059033l.pfb', lum/4)
		
				draw2  =  ImageDraw.Draw (arc_canvas)
				draw =  ImageDraw.Draw (rgb_canvas)
				draw =  ImageDraw.Draw (arc_canvas)
				xy = z_2dim(rgb[0],rgb[1],rgb[2])
				#print "xyz2xy=", xy
				#luminance diffrence between this and pixel before
				lum_diff = lum-lum2
				draw2.text ((xy[0]+10,xy[1]+10), hex[:6], font=font, fill=rgb)
				draw2.line (((10,10),(xy[0]+10,xy[1]+10)), fill=rgb)
				#draw2.arc(((os+x)/2,(os+y)/2,(os+x+xy[0]+lum-lum_diff)/2,(os+y+xy[1]+lum)/2), 0, 360, fill=rgb)
				x1=(osx+x-((xy[0]+lum-lum_diff)/2))/2
				y1=(osy+y-((xy[1]+lum)/2))/2
				x2=(osx+x+((xy[0]+lum-lum_diff)/2))/2
				y2=(osy+y+((xy[1]+lum)/2))/2
				draw.arc((x1,y1,x2,y2), 0, 360, fill=rgb)
				lum2 = lum
								
				y = y+res
			y = 0
			x = x+res
		
		#im = img.convert("RGBA")
		arc_canvas.save(("%s%06i%s" % (savepath, i , suffix)),"JPEG")
		rgb_canvas.save(("%s%06i%s" % (savepath2, i , suffix)),"JPEG")
		#canvas1.save(("/mnt/share/schularbeit/sva/netart/leitplanke/mix_frms/"+str(i)+".jpg"),"JPEG")
		#canvas1.show ()
hexdraw()
