안녕 얘들 아 두 장의 사진을 병합하는 데 문제가 있습니다 ... 사용자 업로드 한 사진과 함께 png 파일 (배지)을 병합하려고합니다. 사용자가 png oder gif 파일을 업로드 할 때 모든 것이 잘 작동하지만 jpeg 이미지를 업로드하면 출력 이미지가 정말로 이상하게 보입니다. 색상 문제 인 것 같습니다. 여기 imagecopyresized color jpeg가 작동하지 않습니다.
내 코드 : 내가 직접 파일을$imgsrc = @ImageCreateFromJPEG($image);
if (!$imgsrc) $imgsrc = @ImageCreateFromPNG($image);
if (!$imgsrc) $imgsrc = @ImageCreateFromGIF($image);
if (!$imgsrc) $imgsrc = @ImageCreateFromWBMP($image);
를 열거 나하여 파일 형식을 확인하려고 할
//Calculate position for badge (right bottom corner)
$badgeRightPosition = $imageWidth - $badgeWidth;
$badgeLeftPosition = $imageHeight - $badgeHeight;
$image = imagecreatefromstring(file_get_contents($image));
$badge = imagecreatefromstring(file_get_contents($badge));
$trueColorImage = imagecreatetruecolor($imageWidth, $imageHeight);
imagealphablending($trueColorImage, true);
imagesavealpha($trueColorImage, true);
imagealphablending($badge, true);
imagesavealpha($badge, true);
imagealphablending($image, true);
imagesavealpha($image, true);
imagecopyresized($trueColorImage, $image, 0, 0, 0, 0, $imageWidth, $imageHeight, $imageWidth, $imageHeight);
imagecopyresized($trueColorImage, $badge, $badgeRightPosition, $badgeLeftPosition, 0, 0, $imageWidth, $imageHeight, $badgeWidth, $badgeHeight);
그리고 어떻게 하시겠습니까? 몇 가지 코드를 제공하면 답을 얻을 수 있습니다. – Nick
업로드 된 사진이 허용 된 최대 크기보다 큰 경우에도 말해야합니다. 너비이면 이미지 크기가 조정됩니다. 정확하게 여기에 문제가 있습니다 ... 이미지의 크기를 조정 한 후 이미지가 손상된 경우 –
imagecopyresized() 대신 imagecopyresampled()를 사용하면 도움이됩니까? – JochenJung