Si copia y pega el código en la sección 2 de la guía del usuario, obtendrá un rectángulo de color elegante con un texto de color dentro. Probablemente el enfoque no es tan claro en la guía del usuario, pasé un tiempo jugando con él y finalmente sé cómo funciona.
Tienes que imaginarte dibujando un lienzo. Debes hacer toda la configuración antes de dibujar. A continuación se muestra un ejemplo que preparé para mostrar mejor cómo diseñar un texto, dibujar una línea y dibujar un rectángulo, todo con la capacidad de ponerles color.
from reportlab.pdfgen import canvas
def hello(c):
from reportlab.lib.units import inch
#First Example
c.setFillColorRGB(1,0,0) #choose your font colour
c.setFont("Helvetica", 30) #choose your font type and font size
c.drawString(100,100,"Hello World") # write your text
#Second Example
c.setStrokeColorRGB(0,1,0.3) #choose your line color
c.line(2,2,2*inch,2*inch)
#Third Example
c.setFillColorRGB(1,1,0) #choose fill colour
c.rect(4*inch,4*inch,2*inch,3*inch, fill=1) #draw rectangle
c = canvas.Canvas("hello.pdf")
hello(c)
c.showPage()
c.save()
Por lo que puedo decir, usar el espacio de 256 colores no funcionará. El manual indica que el uso de 1 es 'todas las luces encendidas'. Entonces, crear 256,256,256 se hace usando (1,1,1). Por lo tanto, para obtener algo intermedio, tendrás que usar decimales. Para mí, quería el RGB: (75,116,156) así que tuve que escribir: 'setFillColorRGB (0.29296875,0.453125,0.609375)'. Ese es el equivalente a: '75/256, 116/256, 156/256'. Un poco ridículo OMI, pero salió perfecto. – Garfonzo
buena información :) no hablo lo suficientemente profundo en estas cosas de color, podría ser útil para mi trabajo futuro. –
Esto de hecho funciona! Pero cuando configuro un color diferente, el texto parece transparente ... – gbrennon