画像リサイズアプリ
横幅:600px 縦横比:2:3 余白:#ffffff
以下が、JavaScriptを使って実装した例です。
```html
<!DOCTYPE html>
<html>
<head>
<title>画像リサイズアプリ</title>
<meta charset="utf-8">
</head>
<body>
<h1>画像リサイズアプリ</h1>
<p>横幅:600px 縦横比:2:3 余白:#ffffff</p>
<form>
<input type="file" id="fileInput" multiple>
<button type="button" onclick="resizeImages()">リサイズする</button>
</form>
<script>
function resizeImages() {
var files = document.getElementById("fileInput").files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!file.type.match(/image.*/)) {
continue;
}
var reader = new FileReader();
reader.onload = function(event) {
var img = new Image();
img.onload = function() {
var canvas = document.createElement("canvas");
var width = 600;
var height = Math.floor(width * img.height / img.width);
if (height % 3 == 1) {
height--;
}
if (height % 3 == 2) {
height++;
}
canvas.width = width;
canvas.height = height;
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#ffffff";
ctx.fillRect(0, 0, width, height);
ctx.drawImage(img, 0, 0, width, height);
var link = document.createElement("a");
link.href = canvas.toDataURL(file.type);
link.download = file.name.replace(/\.[^.]*$/, "") + "_resized.jpg";
link.click();
};
img.src = event.target.result;
};
reader.readAsDataURL(file);
}
}
</script>
</body>
</html>
```
このアプリでは、input要素を使って複数の画像ファイルを選択し、ボタンをクリックするとリサイズ処理が行われてダウンロードされます。実際に画像をリサイズする処理は、canvas要素とそのAPIを使って行っています。リサイズされた画像は、Blob URLを使ってダウンロード可能な形式に変換しています。画像の縦横比については、指定された比率に合わせるために調整しています。
ジョークとしては、リサイズ処理中に「オオカミがやってくる!」というメッセージを表示するというものが考えられます。ただし、画像処理中にジョークを表示させることは、ユーザーの使用体験を損ねる可能性があるため、実装時には注意が必要です。