質問の下のコメントによると、間違った機能を使用しています。
imagecopymergeの PHP マニュアル ページには、イメージの一部を別のイメージにコピーすると記載されています。ソースからコピーする領域の原点座標、幅と高さ、およびその領域を配置する宛先の座標を指定できると記載されています。
言い換えれば、ソース画像から特定のサイズの長方形の領域を取得し、それを目的地の特定の場所の上に配置します。コピー先の領域のサイズは要求されず、場所のみが要求されます。したがって、コピーされた領域のサイズは変更されませんが、ピクセルごとにコピーされます。
実際に必要な関数はimagecopyresampledです。これにより、宛先領域のサイズを指定でき、ソース領域が収まるようにスムーズにスケーリングされます。
編集
ソース パラメータと宛先パラメータで同じ座標と同じディメンションを使用しているため、まだ問題があります。同じ寸法 == サイズ変更なし。
$imgframe = $_GET['imgframe'];
$imgphoto = $_GET['imgphoto'];
// I am assuming these specify the area of the imgphoto which
// should be placed in the frame?
$imgwidth = $_GET['imgwidth'];
$imgheight = $_GET['imgheight'];
$imgleft = substr($_GET['imgleft'],0,-2);
$imgtop = substr($_GET['imgtop'],0, -2);
// now you also need to get the size of the frame so that
// you can resize the photo correctly:
$frameSize = getimagesize($imgframe);
$src = imagecreatefromjpeg($imgphoto);//'image.jpg'
$dest = imagecreatefrompng($imgframe);//clip_image002.png
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagecopyresampled(
$dest, $src,
0, 0, // these two specify where in the DESTINATION you want to place the source. You might want these to be offset by the width of the frame
$imgleft, $imgtop, // the origin of area of the source you want to copy
$frameSize[0], $frameSize[1], // These specify the size of the area that you want to copy IN TO (i.e., the size in the destination), again you might want to reduce these to take into account the width of the frame
$imgwidth, $imgheight // the size of the area to copy FROM
);