今までは2048px以下なら無料というルールだったので、写真をあげるときは全て Lightroom 側で長辺 2048px でリサイズしていた。数年まえまでは「これで十分だろう」という感じだったが、昨今高解像度ディスプレイ(高ppi)が増えたため、これでは少し物足りないサイズ制限に感じるようになっていた。
今日 Google Photo というサービスがリリースされ、Google の写真ストレージがサービスとして再度分離された (Picasa → Google+ → Google Photo)。これに伴ない無料分の写真のサイズが緩和され、ヘルプによると16MPまでは無料ということになった。
デジタル一眼レフカメラのアスペクト比は 3:2 なので (コンデジは4:3)、4898×3265px までは無料アップロードできることになる。 (あとで追試するけど) これからは 現像時の設定で長辺 4898px に設定しても良さそう。
function getMaxPixelsForAspectRatio (ratio) {
var pixels = 16e6;
var a = Math.sqrt(pixels * ratio);
var b = Math.sqrt(pixels) / Math.sqrt(ratio);
return {
width: Math.floor(Math.max(a, b)),
height: Math.floor(Math.min(a, b))
};
}
console.log(getMaxPixelsForAspectRatio(3/2));
//=> { width: 4898, height: 3265 }
console.log(getMaxPixelsForAspectRatio(4/3));
//=> { width: 4618, height: 3464 }
console.log(getMaxPixelsForAspectRatio(16/9));
//=> { width: 5333, height: 3000 }