GD 공통 기능
imagecreatetruecolor로 () 크기를 나타내는 화상 식별자를 반환 x_size
하고 y_size
검은 이미지.
이미지 리소스에 성공적으로 복귀 한 후, 이후에 반환하는 데 실패 FALSE
INT의 imagecolorallocate ( 자원
$image
, INT $red
, INT $green
, INT $blue
)
처음 imagecolorallocate () 호출 기반한다 이미지 사용 배경색 팔레트 채워 사용 ImageCreate ()를 이미지가 생성된다.
부울 imagefill ( 자원
$image
, INT $x
, INT $y
, INT $color
)
ImageFill () 에서
image
이미지의 좌표 x
, y
(상단 좌측이 0 0)과 color
색 영역이 수행 채우기 (즉, X, 동색 인접 도트의 Y 포인트가 충전 될 것이다)
imagefilledrectangle ( 자원
$image
, INT $x1
, INT $y1
, INT $x2
, INT $y2
, INT $color
)
에서는 image
화상 드로잉 color
좌측 위 좌표 인 색 채워진 사각형 x1
, y1
우측 하단 모서리의 좌표를 x2
, y2
. 0, 0은 화상의 가장 좌측 상단 코너이다.
imageellipse ( 자원
$image
, INT $cx
, INT $cy
, INT $width
, INT $height
, INT $color
)
지정된 좌표에 타원을 그립니다.
imagefilledellipse ( 자원
$image
, INT $cx
, INT $cy
, INT $width
, INT $height
, INT $color
)
동영상 및 지정된 타원으로 작성 image
.
부울 imagepng ( 리소스
$image
[ 문자열 $filename
])
imagepng () GD 이미지 스트림 ( image
표준 출력) 출력 PNG 형식 (주로 브라우저),
경우 filename
주어진 파일 이름은 파일로 출력됩니다.
<?php
$im = imagecreatefrompng("test.png");
imagepng($im);
?>
imagedestroy는 () 수있는 릴리즈
image
와 연관된 메모리를.
어레이 getimagesize ( 문자열
$filename
[ 배열 &$imageinfo
])를 획득하기 위해 이미지 크기
imagefilledarc ( 자원
$image
, INT $cx
, INT $cy
, INT $width
, INT $height
, INT $start
, INT $end
, INT $color
, INT $style
)
부울 imagestring ( 자원
$image
, INT $font
, INT $x
, INT $y
, 문자열 $s
, INT $col
)
imagestring () 와 col
컬러 스트링 s
받는 그려 image
표시 화상 x
, y
좌표 (이 문자열 좌측 코너이며, 전체 이미지의 상부 좌측 코너가 0,0). 당신이 경우 font
3, 4 또는 5를하고, 내장 된 글꼴을 사용합니다.
이미지 라인 소프트웨어 ( 자원
$image
, INT $x1
, INT $y1
, INT $x2
, INT $y2
, INT $color
)
이미지 라인 소프트웨어 () A의 color
컬러 화상 image
좌표에서 x1
, , (상부 선분 왼쪽 0, 0). y1
x2
y2
지정은 image
타원 호 및 충전제를 그린다.
<?php
header ('Content-Type: image/png');
$im = @imagecreatetruecolor(120, 20)
or die('Cannot Initialize new GD image stream');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);
?>
실제 응용 프로그램 :
파이 차트를 그립니다 :
<? PHP의 헤더 ( "유형 콘텐츠의 : 이미지 / PNG" ); // 캔버스 만들 $ img와 imagecreatetruecolor (800, 600 =이 ); // 색상 추가 $ 블루 = imagecolorallocate ( $ img와 , 0, 0, 255)
ImageFill를 ( $ IMG , 0, 0, $ 블루 ); // 채우기 색 // / ImageFill (IMG $, 0, 0, $ 블루); $ 레드 = imagecolorallocate ( $ IMG , 255, 0, 0 ); // 추가 가득 채우기 효과 $ 녹색 = imagecolorallocate ( $ IMG , 0, 255, 0 ); // 호를 그리 // imagearc ($ IMG, 400, 300, 300, 300, 270, 0, $ 그린); //이 원호를 그리고 색 채우기 / * 1IMG_ARC_PIE 2.IMG_ARC_CHORD 3.IMG_ARC_NOFILL 4.IMG_ARC_EDGED IMG_ARC_PIE 상호 배타적이다 IMG_ARC_CHORD ; IMG_ARC_CHORD 시작점과 끝점을 연결하는 선이, IMG_ARC_PIE 원형 경계가 생성되는 것을 제외. IMG_ARC_NOFILL 지정된 호 또는 코드 프로파일 만 작성되지. 직선과 IMG_ARC_EDGED 중앙 지점에 시작과 끝 지점을 표시하고 I MG_ARC_NOFILL은 (채우지 않고) 좋은 프로필을 파이 차트입니다 그리기의 방법으로 사용된다. * / // 그 위치에 원형 외부 가산 채워진 원형 또는 원형의 내측으로 채워 따른 경우 ImageFill 충전 // 600 300 $ 그레이 = imagecolorallocate ( $ IMG , 0xc0과, 0xc0과, 0xc0과 ) $ DarkGray = imagecolorallocate ( IMG $ , 0x90, 0x90, 0x90 ); $ 해군 = imagecolorallocate ($ IMG , 0 × 00, 0 × 00, 0x80으로 ) $ darknavy = imagecolorallocate ( $ IMG , × 00, × 00, × 50 ); $ 레드 = imagecolorallocate ( $ IMG , 0xFF로, × 00, × 00 ); $ darkred = imagecolorallocate ( $ IMG , 0x90, 0x00으로, × 00 ) 에 대한 ( $ I = 300; $ I > 250; $ I - ) {
// 중점이 그리는 자원 타원형 궤도 길이 X 축 Y 축 색 ImageFilledArc ( $ IMG , 400 $ I , 400, 350, 0, 45, $ DarkGray 0 ) ImageFilledArc ( $ IMG , 400 $ I , 400, 350, 45, 270,darkred $ 0 ) ImageFilledArc ( $ IMG , 400 $ I , 400, 350, -90, 0, $의 darknavy , 0 ) }
// 여기 가질 수 비교적 어두운 색 새도우 효과 제 그려진 ImageFilledArc을 ( $ IMG , 400, 250, 400, 350, 0, 45, $ 그레이 0 ) ImageFilledArc ( $ IMG , 400, 250, 400, 350, 45, 270, $ 빨간색 , 0 ); ImageFilledArc ( $ IMG , 400 250, 400, 350, -90, 0, $ 해군 , 0 );
// 밝은 색상 그릴 imagepng ( $의 IMG를 )
//는 브라우저에 출력 이미지 포맷을 PNG로 (imagedestroyIMG $ );
// 이미지 리소스를 파괴
효과 :
보안 코드 :
<? PHP $ IMG = imagecreatetruecolor (200, 50 등 ); $ STR = "ABCDEFG" ; $ F = imagecolorallocate ( $ IMG , 0, 0, 0 ); ImageFill ( $ IMG , 0, 0, $ F ); $ S = str_shuffle ( $의 STR ) //는 정렬되지 않은 배열로 방해 용 ( $ I = 0; $ 난 . <4; $ I ++ ) { $ C의 =의 SUBSTR ( $ STR , RAND (0, 나 strlen ( $의 S ) ), 1 ); $ 색상= imagecolorallocate ( $의 IMG , 50, 50, 50 ); imagestring ( $ IMG에 , 6, 10 + $ i가 , 40 * 랜드 (10, 30), $ C를 , $ 색상 ); 이미지 라인 소프트웨어 ( $ img와 , 랜드 (0.3), 랜드 (0,50), 랜드 (150200), 랜드 (0,50), $ 색상 ); } $ 컬러 = imagecolorallocate ( $ IMG에 , 0, 0, 255 ); 헤더 ( "콘텐츠 타입 : 이미지 / PNG; 문자셋 = UTF8" ); imagepng ( $ img와 ); imagedestroy ($의 IMG );
렌더링 :