클라이언트에서 가져온 일부 이미지를 관리해야합니다. 지금까지GoogleAppEngine : 큰 이미지의 이미지 크기 조정 실패 방지 방법
, 내 코드는 다음
Image oldImage = null;
try {
oldImage = ImagesServiceFactory.makeImage(imageBuf);
} catch (Exception e) {
log.severe("Cannot make the image due to " + e);
return;
}
int newWidth = ??; //how can I guess this value to reach a size < 1MB??
int newHeight= ??; //how can I guess this value to reach a size < 1MB??
Transform resize = ImagesServiceFactory.makeResize(newWidth, newHeight);
Image newImage = imagesService.applyTransform(resize, oldImage); //Exception if > 1MB
이러한 이미지는 GAE (1 MB)의 크기 제한을 초과 할 수 있습니다, 그리고 크기를 조정하거나 도달하기 위해 그들을 자르고 싶습니다 크기는 1MB 미만 (예 : 950kB)입니다.
어떻게하면이 목표를 달성 할 수 있습니까?
이미지의 크기를 조정해야하는 정확한 너비 인 &을 모르므로 직접 resize 메서드를 사용할 수 없습니다.
또한 그림의 인코딩 (png, jpeg 등)에 따라 고정 된 높이와 너비를 사용하여 이미지의 크기가 다를 수 있습니다.
이 문제를 해결하는 방법에 대한 효율적인 아이디어가 없습니다. 솔루션을 볼 수있는 유일한 방법은 좋은 크기의 이미지가 나올 때까지 계속 저, 저 치수로 시도하는 것입니다. 그러나 이는 분명히 용납되지 않습니다. 공연 조건 ...
제발, 도와주세요 !! 당신이 blobstore에 이미지를 저장하는 경우
당신에게안녕
cghersi
왜 이미지를 특정 파일 크기로 만들 필요가 있습니까? API 호출 제한 때문인 경우 bdonlan이 가리키는대로 Blobstore를 사용할 수 있습니다. –