Пример #1
0
def deferred_pgmagick():
    im = PGImage(imagename)

    im.filterType(FilterTypes.CatromFilter)
    im.zoom(Geometry(1024, 768))

    im.quality(85)
    im.magick('jpeg')
    im.write(Blob())
Пример #2
0
def convertGMtoPIL(gmimage):
    """
    Convert GraphicsMagick image to PIL

    work with grayscale and colour
    """
    img = Image(gmimage)  # make copy
    gmimage.depth(8)
    img.magick("RGB")
    w, h = img.columns(), img.rows()
    blob = Blob()
    img.write(blob)
    data = blob.data

    # convert string array to an RGB PIL image
    pilimage = PilImage.fromstring('RGB', (w, h), data)
    return pilimage
Пример #3
0
def convertGMtoPIL(gmimage):
    """
    Convert GraphicsMagick image to PIL

    work with grayscale and colour
    """
    img = Image(gmimage)  # make copy
    gmimage.depth(8)
    img.magick("RGB")
    w, h = img.columns(), img.rows()
    blob = Blob()
    img.write(blob)
    data = blob.data

    # convert string array to an RGB PIL image
    pilimage = PilImage.fromstring("RGB", (w, h), data)
    return pilimage
Пример #4
0
def gera_xyz(imagem):
    '''
    * reduz a imagem a 25% da dimensão em pixels e converte para GIF 64 cores;
    * gera um arquivo .txt com os dados pixel a pixel, quanto às cores em RGB
      e xyz
    '''

    print messages.strings['welcome']
    print messages.strings['crexyz']

    img_base = Blob(open(imagem).read())
    img_alvo = Image(img_base)
    img_alvo.magick('GIF')
    img_alvo.colorSpace = 'XYZ'
    img_alvo.scale('25%')
    img_alvo.quantizeColors(64)
    img_alvo.quantizeDither(img_alvo.quantize(64))
    img_alvo.write('./tmp.txt')

    with open('./tmp.txt', 'r') as tt:
        return tt.readlines()
Пример #5
0
def gera_xyz(imagem):
    '''
    * reduz a imagem a 25% da dimensão em pixels e converte para GIF 64 cores;
    * gera um arquivo .txt com os dados pixel a pixel, quanto às cores em RGB
      e xyz
    '''

    print messages.strings['welcome']
    print messages.strings['crexyz']

    img_base = Blob(open(imagem).read())
    img_alvo = Image(img_base)
    img_alvo.magick('GIF')
    img_alvo.colorSpace = 'XYZ'
    img_alvo.scale('25%')
    img_alvo.quantizeColors(64)
    img_alvo.quantizeDither(img_alvo.quantize(64))
    img_alvo.write('./tmp.txt')

    with open('./tmp.txt', 'r') as tt:
        return tt.readlines()
Пример #6
0
	def buildNodeImage(self,node):
		

		self.buildCounterNode+=1

		node['name'] = node['name'].encode("utf-8")


		print "{0:.2f}".format(self.buildCounterNode / (self.buildCounterNodeTotal) * 100)," percent complete of this batch                                         \r",

		scale = self.scaleFactor

		#if node['size'] > 10:

		#cale = 4.75

		#if node['size'] < 900:
		#	scale = 4




		circleHeight = int(float(node['size'])*scale)
		circleWidth = int(float(node['size'])*scale)


		canvasHeight = int(circleHeight *2)
		canvasWidth = int(circleWidth* 2) 


		im = Image(Geometry(10,10), 'transparent')
		fontsize = self.returnFontSize(canvasHeight)
		im.fontPointsize(fontsize)
		tm = TypeMetric()
		im.fontTypeMetrics(node['name'], tm)

		if tm.textWidth() > canvasWidth:
			canvasWidth = int(tm.textWidth()) + 5

		im = Image(Geometry(canvasWidth,canvasHeight), 'transparent')
		im.density("72x72")
		im.magick('RGB')
		im.resolutionUnits(ResolutionType.PixelsPerInchResolution)

		im.strokeAntiAlias(True)

		color = (node['rgb'][0],node['rgb'][1],node['rgb'][2])

		color = self.rgb_to_hex( color )
		im.fillColor(color);

		im.strokeWidth(2);

		if circleWidth <= 20:
			im.strokeColor("transparent");
		else:
			im.strokeColor("black");

		if circleWidth <= 50:
			im.strokeWidth(1);


		circle = DrawableCircle( canvasWidth/2 , canvasHeight/2, (canvasWidth/2) + (circleWidth/2), (canvasHeight/2) + (circleHeight/2))
		im.draw(circle)

		im.fillColor("white");
		im.strokeColor("black");
		im.strokeWidth(1);



		fontsize = self.returnFontSize(canvasHeight)
		im.fontPointsize(fontsize)

		

		tm = TypeMetric()
		im.fontTypeMetrics(node['name'], tm)

		textWidth = tm.textWidth()
		textHeight = tm.textHeight()


		if fontsize <= 30:
			im.strokeColor("transparent")
		

		text = DrawableText((canvasWidth / 2) - (textWidth/2), canvasHeight/2 + 6 , node['name'])
		im.draw(text)
		


		im.write(self.dataCircles + str(node['id']) + '.png')