PHP を使用して簡単な画像トリミング関数を開発する方法
はじめに:
現代のインターネット時代において、画像処理はユーザーが頻繁に使用する非常に重要な機能です。さまざまなプラットフォームやサイズに合わせて画像をアップロードまたはキャプチャする必要があります。この記事では、ユーザーがアップロードされた画像を簡単にトリミングできるようにする、PHP を使用した簡単な画像トリミング機能を開発する方法を紹介します。
1. 準備
2. 実装ロジック
ユーザーがアップロードした写真を取得する
まず、ユーザーがアップロードした写真を取得するための HTML フォームが必要です。 Crop.php で、次のコードを追加できます:
<form method="POST" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" value="上传并裁剪图片" /> </form>
画像の処理
crop.php で、画像を処理するために次のコードを追加します:
if ($_SERVER['REQUEST_METHOD'] === 'POST') { $file = $_FILES['image']; $fileType = $file['type']; $ allowedTypes = ['image/jpeg', 'image/png', 'image/gif']; if (!in_array($fileType, $allowedTypes)) { die('只允许上传 JPG、PNG 或 GIF 格式的图片文件'); } $uploadDir = 'uploads/'; $uploadFile = $uploadDir . basename($file['name']); if (move_uploaded_file($file['tmp_name'], $uploadFile)) { // 获取上传后的图片宽度和高度 list($width, $height) = getimagesize($uploadFile); // 输出裁剪工具的HTML代码 echo "<img src="$uploadFile" id="image" style="max-width:90%" / alt="PHP を使用して簡単な画像トリミング関数を開発する方法" >"; echo "<script src="https://cdn.jsdelivr.net/npm/cropperjs"></script>"; echo '<script> var image = document.getElementById("image"); var cropper = new Cropper(image, { aspectRatio: 1, // 裁剪框的宽高比例 viewMode: 1 // 显示裁剪範圍的模式,1代表裁剪範圍不能超过预览图的大小 }); </script>'; echo '<button onclick="crop()">裁剪并保存</button>'; // 定义裁剪成功后保存的文件路径 $croppedFile = $uploadDir . 'cropped_' . basename($file['name']); echo '<script> function crop() { var canvas = cropper.getCroppedCanvas(); // 获取裁剪后的图像 canvas.toBlob(function(blob) { // 将裁剪后的图像转为 Blob 对象 var formData = new FormData(); formData.append("file", blob, "cropped_' . basename($file['name']) . '"); // 将裁剪后的图像添加到 FormData 对象中 // 发送请求保存裁剪后的图像 var xhr = new XMLHttpRequest(); xhr.open("POST", "crop.php", true); xhr.onload = function() { if (xhr.status === 200) { alert("图片裁剪并保存成功!"); } else { alert("图片裁剪失败!"); } }; xhr.send(formData); }, "' . $fileType . '"); } </script>'; } else { die('文件上传失败'); } }
切り取った画像を保存します
crop.php に次のコードを追加して、切り取った画像を保存します:
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) { $file = $_FILES['file']; $uploadDir = 'uploads/'; $uploadFile = $uploadDir . basename($file['name']); if (move_uploaded_file($file['tmp_name'], $uploadFile)) { // 保存裁剪后的图片 $croppedFile = $uploadDir . 'cropped_' . basename($file['name']); if (rename($uploadFile, $croppedFile)) { // 输出裁剪后的图片 echo "<img src="$croppedFile" style="max-width:90%" / alt="PHP を使用して簡単な画像トリミング関数を開発する方法" >"; } } else { die('图片保存失败'); } }
3. 実行の練習をします
結論:
上記の手順により、PHP を使用して簡単な画像トリミング関数を開発できます。ユーザーが画像をアップロードした後、Cropper.js ライブラリを使用して画像のトリミング機能を実装し、トリミングされた画像を保存できます。このシンプルな画像トリミング機能は、Web サイトや Web アプリケーションに簡単に組み込むことができ、ユーザー エクスペリエンスを向上させ、さまざまな画像処理のニーズに対応できます。
以上がPHP を使用して簡単な画像トリミング関数を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。