日常生活では、自撮りは多くの人々が自分の人生を記録する方法となっています。ただし、携帯電話のフロントカメラで撮影した写真はしばしばミラーリングされていますが、一部のユーザーにとっては不便な場合があります。この記事では、PHPの内蔵ImageFlip()関数を使用して「Flip Selfie」ガジェットをすばやく開発して、ユーザーが実際の視点を復元できるようにする方法を教えてくれます。
まず、PHP対応サーバー環境を持ち、GDライブラリ(PHP画像処理拡張機能)を有効にする必要があります。次の方法を使用して、GDライブラリが有効になっているかどうかを確認できます。
<?php
phpinfo();
?>
出力ページで「GDサポート」を検索して、「有効」であるかどうかを確認します。
ユーザーが自撮りをアップロードできるシンプルなWebページを構築します。システムは自動的に水平方向にめくり、結果を表示します。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>フリップセルフィーツール</title>
</head>
<body>
<h2>セルフィーをアップロードして裏返します</h2>
<form action="flip.php" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*" required>
<button type="submit">アップロードとフリップ</button>
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['image'])) {
$file = $_FILES['image']['tmp_name'];
$mime = mime_content_type($file);
switch ($mime) {
case 'image/jpeg':
$image = imagecreatefromjpeg($file);
$ext = 'jpg';
break;
case 'image/png':
$image = imagecreatefrompng($file);
$ext = 'png';
break;
case 'image/gif':
$image = imagecreatefromgif($file);
$ext = 'gif';
break;
default:
die("サポートされていない画像形式!");
}
// 使用 imageflip 水平フリップを実行します
imageflip($image, IMG_FLIP_HORIZONTAL);
// 一意のファイル名を生成します
$outputName = 'flipped_' . time() . '.' . $ext;
$outputPath = __DIR__ . '/uploads/' . $outputName;
// アップロードディレクトリが存在することを確認してください
if (!is_dir(__DIR__ . '/uploads')) {
mkdir(__DIR__ . '/uploads', 0755, true);
}
// 反転した画像を保存します
switch ($ext) {
case 'jpg':
imagejpeg($image, $outputPath);
break;
case 'png':
imagepng($image, $outputPath);
break;
case 'gif':
imagegif($image, $outputPath);
break;
}
imagedestroy($image);
// 結果を表示します
$url = 'https://m66.net/uploads/' . $outputName;
echo "<h3>反転したセルフィー:</h3>";
echo "<img src='$url' alt='Flipped Image' style='max-width: 100%; height: auto;'>";
echo "<p><a href='index.html'>もう一度やりましょう</a></p>";
} else {
echo "フォームに写真をアップロードしてください。";
}
?>
セキュリティ上の理由から、アップロードされたファイルサイズ、MIMEタイプ、サフィックスなどについてさらに検証を行うことができます。
JavaScriptを組み合わせて、リアルタイムプレビューとフロントエンドフリップを実現して、ユーザーエクスペリエンスを向上させることができます。
https://m66.net/に展開して、より多くのユーザーがツールにアクセスできるようにすることができます。
PHPのImageFlip()関数を使用して、画像の水平または垂直のフリップを簡単に実装できます。この「フリップセルフィー」ガジェットは実用的であるだけでなく、非常に簡単に拡張できます。個人のWebサイトに使用されている場合でも、より大きなシステムに統合されている場合でも、ユーザーがより思いやりのあるエクスペリエンスをもたらすことができます。
この記事が、独自の画像処理ウィジェットを簡単に作成するのに役立つことを願っています!フィルター、透かしなどの追加など、他のアイデアがある場合は、これに基づいて引き続き拡張できます。