À l'aide de putpixel() n'a pas d'écrire des valeurs de pixels de l'image
Je suis en utilisant putpixel
sur une image (srcImage
) qui est w = 134 et h = 454.
Le code ici devient le de r,g,b valeur d'une partie de la police qui est 0,255,0 (que j'ai découvert par le biais de débogage à l'aide des options d'impression).
image = letters['H']
r,g,b = image.getpixel((1,1)) #Note r g b values are 0, 255,0
srcImage.putpixel((10,15),(r,g,b))
srcImage.save('lolmini2.jpg')
Ce code ne renvoie pas d'erreur. Cependant, lorsque j'ai vérifier l'image enregistrée, je ne le spot de la pure pixel vert.
OriginalL'auteur nman84 | 2010-08-25
Vous devez vous connecter pour publier un commentaire.
Au lieu d'utiliser
putpixel()
etgetpixel()
vous devez utiliser l'indexation de la place. Pourgetpixel()
vous pouvez utiliserpixesl[1, 1]
et pour putpixel vous pouvez utiliserpixels[1, 1] = (r, g, b)
. Il devrait fonctionner de la même, mais c'est beaucoup plus rapide.pixels
ici estimage.load()
Cependant, je ne vois pas pourquoi ça ne marcherait pas. Il devrait fonctionner sans problème. Peut-être la compression jpeg est de vous tuer ici. Avez-vous essayé de l'enregistrer comme une image png/gif fichier à la place? Ou de réglage de plus de 1 pixel.
OriginalL'auteur Wolph
Je sais que c'est un très vieux post, mais, pour les débutants, qui aurait voulu se tenir à
putpixels()
pendant un certain temps, voici la solution:initialiser la variable d'image:
Assurez-vous de les initialiser comme 'RGB' si vous souhaitez manipuler des valeurs RVB.
Parfois, les gens initialiser les images comme:
et puis essayer de travailler avec
RGB
valeurs, qui ne fonctionne pas.OriginalL'auteur progyammer