2013-04-13 2 views
1

여러분 모두 잘하고 있기를 바랍니다.PHP GD로 생성 된 이미지 - 브라우저의 중심에 맞추는 방법?

PHP GD를 사용하여 텍스트를 만들고 이미지를 편집했는데 다음 코드를 사용하여 브라우저로 보내지 만 완전히 브라우저 왼쪽에 정렬되어 표시됩니다. img 태그하지만 아무 일도 일어나지 않을 것 같아요. PHP 헤더가 이미지를 표시하기 때문에 작동하지 않을 것입니다. 동일한 코드 내에서 브라우저의 중심에 이미지를 정렬하는 방법은 마진을 사용하여 div를 정렬하는 방법을 말하는 것입니다. 0 자동? 당신은 여전히 ​​GD와 초보자가 그래서 여기 내 코드의 난 볼 수 있듯이, 정말이 친구 감사 : 당신의 조언을

<?php 
$nombre=$_POST['nombre']; 
    //Set the Content Type 
header('Content-type: image/jpeg'); 


    // Create Image From Existing File 
    $jpg_image = imagecreatefromjpeg('fabian.jpg'); 
     // get image dimensions 
list($img_width, $img_height,,) = getimagesize("fabian.jpg"); 

    // Allocate A Color For The Text 
    $white = imagecolorallocate($jpg_image, 255, 255, 255); 

    // Set Path to Font File 
    $font_path = 'fabian.TTF'; 

    // Set Text to Be Printed On Image 
    $text =strtoupper($nombre); 

    // Print Text On Image 
    //imagettftext($jpg_image, 75, 0, 50, 400, $white, $font_path, $text); 

// find font-size for $txt_width = 80% of $img_width... 
$font_size = 1; 
$txt_max_width = intval(0.8 * $img_width);  

do { 

$font_size++; 
$p = imagettfbbox($font_size,0,$font_path,$text); 
$txt_width=$p[2]-$p[0]; 
// $txt_height=$p[1]-$p[7]; // just in case you need it 

} while ($txt_width <= $txt_max_width); 

// now center text... 
$y = $img_height * 0.9 ;// baseline of text at 90% of $img_height 
$x = ($img_width - $txt_width)/2; 

imagettftext($jpg_image, $font_size, 0, $x, $y, $white, $font_path, $text); 



    // Send Image to Browser 
    imagepng($jpg_image); 


// Clear Memory 
    imagedestroy($jpg_image); 

?> 

감사합니다 많이! 좋은 하루 되세요.

+3

PHP는 브라우저의 크기를 정확하게 알 수있는 방법이 없으므로 이미지 자체에는 사용할 수 없습니다. HTML을 사용하여 이미지를 표시 한 다음 CSS를 사용하여 중앙에 배치해야합니다. –

+0

알았어, 고마워, 내가 몸 속에 이미지를 표시하는 방법을 찾은 다음 CSS로 그 이미지를 가져올거야. 임시로 저장 한 다음 파일을 가져와야 할 것 같아. 감사! –

답변

3

제공 한 코드로 이미지 파일을 출력하는 것 같습니다. 이 코드에는 브라우저에서 이미지를 표시하는 방법을 지정할 방법이 없습니다.

이 이미지를 표시하는 별도의 HTML 코드가있는 경우 모양과 위치와 관련된 사항을 지정해야합니다. 따라서 이미지를 중앙에 배치하는 방법에 대한 HTML/CSS 질문이되며 PHP 또는 GD와 관련이 없습니다.

+0

고맙습니다 pilsetnieks, 그걸 알면서 위의 암호로 입력 한 의견 당 나는 생각, 지금은 생각이 있어요. 다시 한번 감사드립니다. –

1

CSS 규칙에 display: block;을 추가해야 집중화됩니다.

브라우저에서 이미지를 요청하는 경우 서버 측에서 사용할 수없는 브라우저 창 크기를 알아야하므로 브라우저 주변의 이미지가 필요하지 않습니다.

+0

아담, 고맙습니다. 브라우저에서 이미지를 요청하는 대신 이미지를 가져 오는 가장 좋은 방법을 찾기 위해 잠시 동안 작업 할 것입니다. –

관련 문제