Я использую библиотеку GD, чтобы объединить два или более двух изображений в воспламенении кода. Комбинированная часть работает нормально. Но если я открываю какое -либо изображение в своей системе и поверну изображение, а затем попытаюсь объединить изображение, он объединяется с вращающимся способом. Означает, что мне нужно всегда объединить изображение с правильной ориентацией. Если любое изображение не находится в правильной ориентации, то изображение должно быть в правильной ориентации, затем объедините, ниже мой код. < /P>
Я использую библиотеку GD, чтобы объединить два или более двух изображений в воспламенении кода. Комбинированная часть работает нормально. Но если я открываю какое -либо изображение в своей системе и поверну изображение, а затем попытаюсь объединить изображение, он объединяется с вращающимся способом. Означает, что мне нужно всегда объединить изображение с правильной ориентацией. Если любое изображение не находится в правильной ориентации, то изображение должно быть в правильной ориентации, затем объедините, ниже мой код. < /P> [code] private function combine_images($tmp_files, $output_path) { $merged_image_width = 0; $merged_image_height = 0; $image_resources = [];
// Load images, fix orientation, and calculate dimensions for the merged image foreach ($tmp_files as $tmp_file) { $temp_resource = null;
// Load the image based on its MIME type switch (mime_content_type($tmp_file)) { case 'image/jpeg': $temp_resource = imagecreatefromjpeg($tmp_file); break; case 'image/png': $temp_resource = imagecreatefrompng($tmp_file); break; default: throw new Exception("Unsupported image type: " . mime_content_type($tmp_file)); }
// Fix orientation, if needed $temp_resource = $this->fix_orientation_and_normalize($tmp_file, $temp_resource);
// Get dimensions after fixing the orientation $width = imagesx($temp_resource); $height = imagesy($temp_resource);
$image_resources[] = $temp_resource;
$merged_image_width = max($merged_image_width, $width); // Use the widest image $merged_image_height += $height; // Total height for vertical stacking }