私はこの学校プロジェクトに取り組んでいました。(私は本当に基本的なプログラミングを知っていて、私が知っている唯一の言語です)ピクチャにメッセージをエンコードするためにピクセル色を変更する必要があります、PILのputpixelは動作していないようですが、ここに私のコードです。pythonのputpixel()が動作していない
PSは:私のすべてのPILの情報は独学で、私が見ていないだと心の中で
from PIL import Image
e=input('file and location? ')
img=Image.open(e)
pmap=img.load()
imy=img.height
imx=img.width
if int(input('1 for encoding, 2 for decoding '))==1:
a=input('Your message? ')
for i in range(len(a)):
r , g , b=img.getpixel((i+10,imy//2))
img.putpixel((i+10,imy//2),(ord(a[i]),g,b))
r,g,b=img.getpixel((len(a)+10,imy//2))
img.putpixel((len(a)+10,imy//2),(999,g,b)) #999 is the stop code in decoding
else:
r=u=0
m=''
while r!=999:
r , g , b=img.getpixel((10+u,imy//2))
m+=chr(r)
u+=1
print(m[:len(a)-1])
img.save(e)
裸してください、私は感謝されると思いますが、簡素化話すことができたので、もし英語が私の主な言語ではありません視覚的な違いを作って、私はすでにデバッグを行っています。エラーもなく、何らかの理由でputpixelが動作しません。私が言ったように 、私はプログラミングには新しいので、それは愚かな間違いを含む場合はごめんなさい。
まあ、私はそれはあなたの最初の一つである悪い質問ではないかなと思います。しかし、エラーが何であるかを少し説明しよう。エラーが表示されない場合は、何を得るか、何を期待するかを教えてください。忘れてはいけないことは、あなたの問題を説明する努力が多ければ多いほど、コミュニティの方があなたを助けることです。 –
よく何もエラーが出ないので、ピクセルはまったく変更されません。putpixelは何もしていないので、何もしなかったと思います。 –
OK、いくつかのデバッグ行を追加してみてください。何が起こっているのか理解する。例えば、 'a = input( 'Your message?')'ステートメントの下に 'print a 'を追加して、実際に期待する値を格納していることを確認することができます。同様に、 'print'文をいくつか追加します。 –