如何在上传过程中调整照片大小?

时间:2011-04-15 03:21:39

标签: java picasa

我想在使用picasa java api上传到picasa之前缩小照片尺寸。 如何使用Picasa API在上传过程中调整照片大小?

2 个答案:

答案 0 :(得分:0)

据我在API中看到,照片必须在上传之前调整大小。幸运的是,它在Java中是easy to do

答案 1 :(得分:0)

我使用了ImageIO和imgscalr的组合:

import javax.imageio.ImageIO;
import org.imgscalr.Scalr;

InputStream myPhotoInputStream = // new FileInputStream(file)
                                 // or FileItemStream.openStream(); from an HTTP upload
OutputStream outstream = ...
BufferedImage image = ImageIO.read( myPhotoInputStream );
int maxDimension = 1024;
image = Scalr.resize(image, maxDimension);
ImageIO.write(image, "JPEG", outstream);

不幸的是,当您调整大小时,您将丢失EXIF元数据。我还没有找到一个能够简单地在读取时保存它并在写入时恢复它的库。 Apache commons-imaging看起来很有前景,但似乎无法编写JPEG。