2013-05-15 5 views
0

사용자가 이미지를 업로드 할 수있는 사이트가 있는데 이미지 해상도를 낮추고 수표 등을 잘 처리 할 수있는 기능이 있습니다.이 작은 버그를 제외하면 잘 작동합니다.이미지 해상도 줄이기

$ fixed_width는 최대 허용치로 선언하고자하는 폭이지만 더 낮게 허용되지만, 어떤 이유로이 if 문이 항상 트리거되고 이미지의 크기가 다시 조정되어 블랙 박스가 남습니다.

$ width_orig = 화상 폭

$ fixed_width = 최대 허용 폭보다 그

$ image_p = 트루로

$ 이미지 = IMG의 현재 위치의 크기를 조절하는 경우

if ($width_orig > $fixed_width) { 
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $fixed_width, $fixed_height, $width_orig, $height_orig); // reduce in width/height 
} else { 
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width_orig, $height_orig, $width_orig, $height_orig); // leave as is 
} 

왜 절대 통과하지 않으며, 어떤 일이 일어나더라도 크기가 조정됩니까?

+2

입력 값이 무엇인지 언급하지 않으므로 말하기가 어렵습니다. 'var_dump()'를 사용하여 자신이 생각하는 바를 확인하십시오. 또한 문자열이 아닌 숫자 형식을 사용하고 있는지 확인하십시오. – Brad

답변

0

$image_p은 너비와 높이가 고정되어 있습니다. 따라서 무언가를 덜 복사 할 때 나머지 부분을 채우기 위해 빈 배경 (검은 색)이 나타납니다. 대신 $image을 사용해보십시오 (else {$image_p = $image})

1

코드의 else 블록은 이해가되지 않습니다. 이미지를 변경하지 않으려면 왜 복사 재 샘플링합니까?

코드의 나머지 부분을 게시하면 원래 너비를 얻는 방식을 볼 수 있습니다.

+0

그냥 알다시피, 설명을 요구하는 짧은 공헌은 일반적으로 답이 아닌 주석으로 가장 좋습니다. – halfer

+0

나는 여기 새로운 ... 코멘트를 추가하는 링크는이 답변에서 나에게 원래의 게시물이 아니라 단지 보여 주었다 ... –

+0

그냥 약간의 연구에 가서 당신이 코멘트에 명성의 적어도 50 가지가 있어야한다는 것을 발견했다. 다른 회원 응답에, 아직 내 사건이 아닌 ... –