>>>>> "Luca" == Luca Manini <manini@xxxxxxxxxxx> writes: Luca> Ciao a tutti, ho una applicazione (Winzozz, Delphi) che usa Luca> un tot di immagini per l'interfaccia: alcune sono messe in Luca> bmp (tante in una sola bmp, tutte affiancate) altre sono Luca> file ICO svalangate in una directory. Luca> Io devo riciclarle per la "corrispondente" interfaccia Web. Luca> Con due righe di Python (PIL) [1] ho riconvertito il tutto Luca> (splitting compreso) in una svalangata di filetti PNG, e Luca> così andiamo già meglio. Luca> Ora però mi resta un problema: nell'interfaccia Winzozz, le Luca> immagini erano "trasparenti" (con il trucco che il colore Luca> del pixel in basso a sinistra è quello da considerare Luca> trasparente, credo). Luca> Ho visto che PNG supporta la trasparenza (e mi pare che i Luca> browser capiscano abbastanza). Qualcuno sa come si fa Luca> (possibilmente in PIL) a "convertire" anche questo bit di Luca> informazione? allora... il colore trasparente è il colore nero (RGB 0,0,0) con un canale alpha anchesso a 0.... io farei così: codice_RGB_colore_che_deve_diventare_trasparente = c_t = (56,67,75,255) # R G B A import PIL.Image as I iRGB = I.open('/il_tuo_file.quel_che_vuoi') # aggiungo canale alpha iRGBA = iRGB.convert('RGBA') # qual'è la dimensione dell'immagine? xsize, ysize = iRGBA.size # ora applico un filtro sui singoli pixel dell'immagine, cambiando il colore #di quelli con il "colore trasparente" nel vero colore trasparente con canale # alpha x = y = 0 while x < xmax: while y < ymax: pix_color = iRGBA.getpixel((x,y)) if pix_color == c_t: pix_color = (0,0,0,0)# il colore trasparente "vero" iRGBA.setpixel((x,y),pix_color) y += 1 x += 1 # una volta convertito il colore, salvo l'immagine iRGBA.save('/outfile.png', 'PNG') dovrebbe andare azazel -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx