PHP로 이미지를 조작하는 5가지 고급 GD 예제

1. 파이차트 그리는 방법




<?php

$data = [50, 90, 150, 360];

$im = imagecreatetruecolor(400, 300);
$c_black = imageColorAllocate($im, 0,0,0);

foreach ( $data as $i => $v ) {
  $c = imageColorAllocate(
    $im, 46 + $i * 30,204 - $i * 30, 64 + $i * 30
  );
  imagefilledarc(
    $im, 200, 150,
    100 + $i * 10, 100 + $i * 10, $i ? $data[$i-1] : 0,
    $v, $c, IMG_ARC_PIE
  );
}

imagePng($im, '/tmp/image.png');


  • $data - 원형 차트를 그리는 샘플 데이터,
  • imagecreatetruecolor - 지정된 너비 및 높이로 트루 컬러 GD 이미지 객체를 생성합니다.
  • imageColorAllocate - 파이에 사용할 색상 개체를 생성합니다($i 값을 사용하여 색상을 무작위로 지정),
  • imagefilledarc - 다음 파이 그리기,
  • 200, 150 - 파이 중심 좌표,
  • imagePng - 지정된 경로에 이미지를 PNG 형식으로 저장합니다.

  • Open original 또는 edit on Github .

    2. 이미지 뒤집기 방법




    <?php
    
    $file = '/var/www/examples/heroine.png';
    $im = imagecreatefrompng($file);
    
    imageflip( $im, IMG_FLIP_VERTICAL );
    imagePng($im, '/tmp/image.png');
    


  • $file - 회전할 이미지,
  • imagecreatefrompng - 지정된 PNG 이미지에서 GD 이미지 객체를 생성합니다.
  • imageflip - 주어진 이미지를 지정된 방향으로 뒤집습니다.
  • IMG_FLIP_VERTICAL - 이미지를 세로로 뒤집고 다른 옵션을 탐색합니다.
  • imagePng - 지정된 경로에 이미지를 PNG 형식으로 저장합니다.

  • Open original 또는 edit on Github .

    3. 픽셀 색상을 얻는 방법




    $file = '/var/www/examples/heroine.png';
    $im = imagecreatefrompng($file);
    $c = imagecolorat($im, 100, 100);
    list($r, $g, $b) = [($c >> 16) & 0xFF, ($c >> 8) & 0xFF, $c & 0xFF];
    


  • $file - 작업할 샘플 이미지,
  • imagecreatefrompng - 지정된 PNG 이미지에서 GD 이미지 객체를 생성합니다.
  • imagecolorat - 지정된 위치의 색상을 정수로 반환합니다.
  • 100, 100 - 위쪽에서 100픽셀, 왼쪽에서 100픽셀에 색상이 표시됩니다
  • .
  • $r, $g, $b - 변수에 R, G 및 B 색상 채널에 대한 디코딩된 값이 포함됩니다.

  • Open original 또는 edit on Github .

    4. 이미지 회전 방법




    <?php
    
    $file = '/var/www/examples/heroine.png';
    $im = imagecreatefrompng($file);
    
    $c_black = imageColorAllocate($im, 0,0,0);
    $imr = imagerotate( $im, 90, $c_black );
    
    imagePng($imr, '/tmp/image.png');
    


  • $file - 회전할 이미지,
  • imagecreatefrompng - 지정된 PNG 이미지에서 GD 이미지 객체를 생성합니다.
  • imageColorAllocate - 나중에 이미지에서 사용할 색상 개체를 만듭니다.
  • imagerotate - 주어진 이미지를 회전하고 새 gd 이미지 객체를 반환합니다.
  • 90 - 이미지를 90도 회전,
  • $c_black - 배경에 사용할 색상(필요한 경우),
  • imagePng - 지정된 경로에 이미지를 PNG 형식으로 저장합니다.

  • Open original 또는 edit on Github .

    5. 선 굵기 설정 방법




    <?php
    
    $im = imagecreatetruecolor(400, 300);
    
    $c_black = imageColorAllocate($im, 0,0,0);
    $c_green = imageColorAllocate($im, 46,204,64);
    
    for ( $thick = 5; $thick > 0; $thick-- ) {
      imageline($im, 50, 50 + $thick, 350, 250 + $thick, $c_green);
    }
    
    
    imagePng($im, '/tmp/image.png');
    


  • imagecreatetruecolor - 지정된 너비 및 높이로 트루 컬러 GD 이미지 객체를 생성합니다.
  • imageColorAllocate - 나중에 이미지에서 사용할 색상 개체를 만듭니다.
  • imageline - 주어진 좌표와 색상을 사용하여 선을 그립니다.
  • $thick = 5 - 결과 선 두께(우리의 경우 5),
  • imagePng - 지정된 경로에 이미지를 PNG 형식으로 저장합니다.

  • Open original 또는 edit on Github .

    좋은 웹페이지 즐겨찾기