こちらは麺スクラッチャーです。
HTML5 ローカル ストレージと xhr v2 などがあることを念頭に置いて、この質問に対して、実用的な例を見つけたり、単に「はい」か「いいえ」で答えたりできる人がいないかと考えています。
新しいローカル ストレージ (またはその他) を使用して画像のサイズを事前に設定し、画像のサイズ変更について何も知らないユーザーが 10 MB の画像を Web サイトにドラッグし、新しいローカル ストレージを使用してサイズを変更してから、小さいサイズでアップロードできるようにすることは可能ですか。
Flash、Java アプレット、Active X で実行できることはよくわかっています。問題は、Javascript + Html5 で実行できるかどうかです。
これについての返答をお待ちしております。
とりあえずこれで。
ベストアンサー1
このMozilla Hacksのブログ投稿プロセスのほとんどを順を追って説明します。参考までに、ブログ投稿から組み立てたソース コードを以下に示します。
// from an input element
var filesToUpload = input.files;
var file = filesToUpload[0];
var img = document.createElement("img");
var reader = new FileReader();
reader.onload = function(e) {img.src = e.target.result}
reader.readAsDataURL(file);
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var MAX_WIDTH = 800;
var MAX_HEIGHT = 600;
var width = img.width;
var height = img.height;
if (width > height) {
if (width > MAX_WIDTH) {
height *= MAX_WIDTH / width;
width = MAX_WIDTH;
}
} else {
if (height > MAX_HEIGHT) {
width *= MAX_HEIGHT / height;
height = MAX_HEIGHT;
}
}
canvas.width = width;
canvas.height = height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, width, height);
var dataurl = canvas.toDataURL("image/png");
//Post dataurl to the server with AJAX