How can you ensure that a complete image is displayed when using imagecopy in PHP?

When using imagecopy in PHP to copy an image onto another image, it is important to ensure that the complete image is displayed without any parts being cut off. To achieve this, you need to calculate the destination coordinates properly by taking into account the width and height of both the source and destination images.

// Load the source and destination images
$source = imagecreatefromjpeg('source.jpg');
$dest = imagecreatefromjpeg('destination.jpg');

// Get the width and height of the source and destination images
$sourceWidth = imagesx($source);
$sourceHeight = imagesy($source);
$destWidth = imagesx($dest);
$destHeight = imagesy($dest);

// Calculate the destination coordinates to ensure the complete image is displayed
$destX = 0;
$destY = 0;
$sourceX = 0;
$sourceY = 0;
$sourceWidth = min($sourceWidth, $destWidth - $destX);
$sourceHeight = min($sourceHeight, $destHeight - $destY);

// Copy the image onto the destination image
imagecopy($dest, $source, $destX, $destY, $sourceX, $sourceY, $sourceWidth, $sourceHeight);

// Output the resulting image
header('Content-Type: image/jpeg');
imagejpeg($dest);

// Free up memory
imagedestroy($source);
imagedestroy($dest);