Python3です
やりたいこと
画像URLから画像を引っ張ってイチャコラするときに、一旦保存して編集しているプロセスをすっ飛ばしたい。
具体的に
python
1import urllib.request 2from PIL import Image 3 4url = "http://hogehoge.com/hoge.jpg" 5img_read = urllib.request.urlopen(url).read() #画像データGET 6# PILを使うため一旦保存する 7with open("img.jpg", 'wb') as img: 8 img.write(img_read) 9img = Image.open("img.jpg")# PILで開く 10img.save("img.jpg")# PILで保存する 11with open("img.jpg", 'rb') as img: 12 pass #ブログにアップロードしたり
単純に画像データのダイエットがしたくてこの手順を踏んでいるのですが、
ディレクトリに保存せずにこのプロセスを踏むことはできますでしょうか。
ご教授ください・・・。
解答まとめ
python
1import io 2import urllib.request 3from PIL import Image 4 5url = "http://hogehoge.com/hoge.jpg" 6img_read = urllib.request.urlopen(url).read() #画像データGET 7img_bin = io.BytesIO(img_read) #メモリに保持してディレクトリ偽装みたいなことする 8pil_img = Image.open(img_bin) #PILで読み込む 9img = io.BytesIO() #空のインスタンスを作る 10pil_img.save(img,"JPEG") #空のインスタンスに保存する 11diet_img = img.getvalue() #バイナリデータを取得する(open().read()状態)
回答いただいた方、ありがとうございました!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/05 06:30
2017/04/05 06:33
2017/04/05 06:34
2017/04/05 06:35
2017/04/05 06:37
2017/04/05 06:38