我正在尝试打开图像并使用PIL调整大小:
kids = family.kids.all()
for kid in kids:
pictureIO = StringIO.StringIO(kid.image_url)
pictureIO.seek(0)
im = PIL.Image.open(pictureIO)
wpercent = (300/float(im.size[0]))
hsize = int((float(im.size[1])*float(wpercent)))
im = im.resize((300,hsize), PIL.Image.ANTIALIAS)
但它给了我错误:
cannot identify image file
kid.image_url是:
/media/proj/proj/kid1.jpg
回溯:
im = PIL.Image.open(kid.image_url)
我该如何解决这个问题?提前致谢。
答案 0 :(得分:0)
StringIO需要文件对象,而不是文件名。只是做:
f = open(kid.image_url)
pictureIO = StringIO.StringIO(f)
答案 1 :(得分:0)
BufferedImage originalImage = ImageIO.read(new File("/home/sithamparam/Desktop/12.jpg"));
int type = originalImage.getType() == 0 ? BufferedImage.TYPE_INT_ARGB:originalImage.getType();
BufferedImage resizeImageJpg = resizeImage(originalImage, type);
ImageIO.write(resizeImageJpg, "jpg", new File("/home/sithamparam/Desktop/12.jpg"));
答案 2 :(得分:0)
网址与“网站”相关。使用“kid.image.path”。 (我不知道你的image_url是如何填充的,但我认为“/”是基于web root,而不是驱动器的根目录)