2010-02-24 4 views
4

이미지 하단의 텍스트를 제거하고 싶습니다. 어떻게하면 아래에서자를 수 있습니다 ... 10 픽셀 아래에서 자릅니다.PHP를 사용하여 아래에서 이미지를자를 수 있습니까?

나는 PHP에서 이것을하고 싶다. 나는 하단에 텍스트가 많은 이미지가 있습니다.

할 방법이 있습니까?

+2

누군가의 워터 마크를 프로그래밍 방식으로 제거하려고합니다. – espais

답변

5

GD Image Library을 사용하여 PHP에서 이미지를 조작 할 수 있습니다. 당신이 찾고있는 기능은 imagecopy()이며, 이미지의 일부를 다른 것으로 복사합니다. 여기에 당신이 무엇을 설명 대략 않는 PHP.net에서 예입니다 :

<?php 

$width = 50; 
$height = 50; 

$source_x = 0; 
$source_y = 0; 

// Create images 
$source = imagecreatefromjpeg('source.jpg'); 
$new = imagecreatetruecolor($width, $height); 

// Copy 
imagecopy($source, $new, 0, 0, $source_x, $source_y, $width, $height); 

// Output image 
header('Content-Type: image/jpeg'); 
imagejpeg($new); 

?> 

은 원본 이미지를 자르 원하는대로 $source_x$source_y 변수를 변경합니다.

+0

누군가 내게 필요로하는 작업 코드를 보여 주실 수 있습니다. - 감사합니다. – nazir

+8

무료로 작업을 수행 할 개발자 그룹에 대해 그렇게 생각하는 것일 수 있습니다. –

+0

감사하지만 그냥 검은 색 이미지를 작성한 코드 – nazir

18

여기 있습니다.

이미지의 이름을 변경하려면 $ in_filename (현재 'source.jpg')을 변경하십시오. 분명히 URL이 악화 될지라도 URL을 사용할 수 있습니다.

$ new_height 변수를 변경하여자를 바닥의 양을 설정하십시오.

$ offset_x, $ offset_y, $ new_width 및 $ new_height로 둘러보기 만하면됩니다.

알려 주시면 작동합니다. :)

희망이 있습니다.

<?php 

$in_filename = 'source.jpg'; 

list($width, $height) = getimagesize($in_filename); 

$offset_x = 0; 
$offset_y = 0; 

$new_height = $height - 15; 
$new_width = $width; 

$image = imagecreatefromjpeg($in_filename); 
$new_image = imagecreatetruecolor($new_width, $new_height); 
imagecopy($new_image, $image, 0, 0, $offset_x, $offset_y, $width, $height); 

header('Content-Type: image/jpeg'); 
imagejpeg($new_image); 

?> 
+0

와우! 도움을 주셔서 대단히 감사합니다. 이제는 새 이미지를 dir에 저장해야합니다. 어떻게 할 수 있습니까? – nazir

+0

@nazir : http://www.php.net/imagejpeg –

+0

나는 목에 통증이되고 싶지 않지만 내 대답을 올바른 것으로 표시하는 것이 좋을까요? :) 그게 우리가 여기있는 모든 것입니다. ;) – Teekin

관련 문제