Hallo PHP Community,
seit einiger Zeit arbeite ich an einer App auf der Basis von Phonegap. In dieser möchte ich es den Benutzern ermöglichen, die Darstellung Ihres Profilbildes selbst festzulegen.
Dafür verwende ich das JavaScript Plugin Cropper, welches die Koordinaten eines Bildausschnitts erfasst und anschließend an mein PHP Script übergibt.
Leider weicht der Bildausschnitt nach erfolgreichem Upload, immer von dem Gewählten ab. Habt Ihr eine mögliche Lösung? Ich bin mit meinem Latein am ende
Vielen Dank im Voraus.
Beste Grüße
Lukas
JavaScript zum erfassen des auszuschneidenden Bereichs;
PHP Script zum Verarbeiten der Bilder:
seit einiger Zeit arbeite ich an einer App auf der Basis von Phonegap. In dieser möchte ich es den Benutzern ermöglichen, die Darstellung Ihres Profilbildes selbst festzulegen.
Dafür verwende ich das JavaScript Plugin Cropper, welches die Koordinaten eines Bildausschnitts erfasst und anschließend an mein PHP Script übergibt.
Leider weicht der Bildausschnitt nach erfolgreichem Upload, immer von dem Gewählten ab. Habt Ihr eine mögliche Lösung? Ich bin mit meinem Latein am ende
Vielen Dank im Voraus.
Beste Grüße
Lukas
JavaScript zum erfassen des auszuschneidenden Bereichs;
PHP-Code:
function uploadPhoto(imageURI) {
$('#user_photo').attr("src", imageURI);
$('.user_photo_crop').css("display", "block");
$('#user_photo').cropper({
aspectRatio: 1 / 1,
dragMode: 'move',
cropBoxResizable: false,
crop: function(e) {
crop_x = Math.round(e.x);
crop_y = Math.round(e.y);
crop_width = Math.round(e.width);
crop_height = Math.round(e.height);
}
});
PHP Script zum Verarbeiten der Bilder:
PHP-Code:
$crop_x = $_POST["crop_x"];
$crop_y = $_POST["crop_y"];
$crop_width = $_POST["crop_width"];
$crop_height = $_POST["crop_height"];
if ($_FILES) {
$user_photo = imagecreatefromjpeg($_FILES["file"]["tmp_name"]);
$crop_options = array('x' => $crop_x , 'y' => $crop_y, 'width' => $crop_width, 'height'=> $crop_height);
$user_photo_crop = imagecrop($user_photo, $crop_options);
imagejpeg($user_photo_crop, $dirname . "/" . $user_photo_name, 100);
imagedestroy($user_photo);
}
Kommentar