Pregunta

Considere el siguiente código:     PIL de importación de imágenes, ImageDraw, ImageFont

def addText(img, lTxt):
    FONT_SIZE = 10
    INTERLINE_DISTANCE = FONT_SIZE + 1
    font = ImageFont.truetype('arial.ttf', FONT_SIZE)
    lTxtImageHeight = INTERLINE_DISTANCE * len(lTxt)
    # create text image 
    lTxtImg = Image.new('RGBA', (img.size[1], lTxtImageHeight), 255)
    lTxtImgDraw = ImageDraw.Draw(lTxtImg, )
    for (i, line) in enumerate(lTxt):
      lTxtImgDraw.text((5, i * INTERLINE_DISTANCE), line, font=font, fill='#000000')
    # rotate text image
    lTxtImg = lTxtImg.rotate(90)
    # create new transparent image ret
    ret = Image.new('RGBA', (img.size[0] + lTxtImageHeight, img.size[1]), 255)
    # paste the image to ret
    ret.paste(img, (0,0))
    # paste the text to ret
    ret.paste(lTxtImg, (img.size[0], 0), lTxtImg)
    return ret

img = Image.open('in.png')
addText(img, ['lorem', 'ipsum', 'dolores']).save('out.png')

Aquí son la entrada y la salida de archivos Esta es la entrada

de entrada http://img16.imageshack.us/img16/8229/73936270. png

y esta es la salida

de salida http://img94.imageshack.us/img94/531/outj. png

Como se puede ver, la imagen de salida contiene una gran cantidad de ruido de color rojizo alrededor del texto. ¿Cómo puedo eliminar este tramado?

¿Fue útil?

Solución

Sugiero escribir las imágenes de texto para presentar intermedios (el texto, a continuación, el texto girado), para aislar, donde aparecen por primera vez los artefactos.

Otra posibilidad podría ser que la codificación PNG está utilizando una paleta sin valores de escala de grises, por lo que los rojos son los más cercanos disponibles. Revisé la codificación de los archivos en ImageShack embargo, y parecía que estaba bien, así que no creo que este es el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top