PHP는 HTML 출력 생성에만 국한되지 않고 GIF, PNG, JPEG, WBMP 및 XPM을 포함한 다양한 형식의 이미지를 생성하고 처리할 수도 있습니다. 더욱 편리하게 PHP는 이미지 데이터 스트림을 브라우저에 직접 출력할 수 있습니다. PHP에서 이미지 처리 기능을 사용하려면 다음이 필요합니다. GD 라이브러리는 PHP를 컴파일하는 데 사용됩니다. GD 라이브러리와 PHP에는 처리하려는 이미지 형식에 따라 다른 라이브러리가 필요할 수 있습니다. PHP의 이미지 기능을 사용하면 JPEG, GIF, PNG, SWF, TIFF 및 JPEG2000 형식의 이미지 크기를 얻을 수 있습니다. 만약 노동조합이라면 exif 확장자와 함께 사용하면 JPEG 및 TIFF 이미지 파일의 헤더에 저장된 정보를 조작하여 디지털 카메라에서 생성된 메타데이터를 얻을 수 있습니다. Exif 관련 기능은 GD 라이브러리 없이도 사용할 수 있습니다.
phpinfo.php를 사용하여 GD 라이브러리의 설치 구성 정보를 얻을 수 있습니다:
GD에서 지원하는 형식
格式 | 支持读取 | 支持写入 | 备注 |
---|---|---|---|
JPEG | TRUE |
TRUE |
GD 1.8+ |
PNG | TRUE |
TRUE |
|
GIF | TRUE |
TRUE |
GD 1.6 和 GD 2.0.28 之间的版本不支持 |
XBM | TRUE |
TRUE |
PHP 4.0.1 开始支持读取,PHP 5.0.0 开始支持写入 |
XPM | TRUE |
FALSE |
PHP 4.0.1 开始支持读取。Windows 平台上不可用。需要 PHP 绑定的 GD 库 |
WBMP | TRUE |
TRUE |
GD 1.8+ |
WebP | TRUE |
TRUE |
GD 2.1+, PHP 5.5+ |
GD 및 이미지 처리 기능
?gd_info — 현재 설치된 GD 라이브러리에 대한 정보 가져오기
?getimagesize — 이미지 크기 가져오기
?getimagesizefromstring — 문자열에서 이미지 크기 정보 가져오기
?image_type_to_extension — 이미지 유형 가져오기 파일 접미사
?image_type_to_mime_type — getimagesize, 엑시프_read_data, 엑시프_thumbnail, 엑시프_imagetype에 의해 반환된 이미지 유형의 MIME 유형을 가져옵니다. 방사형 변환 후 이미지, 클리핑 영역 선택 사항
?imageaffinematrixconcat — 두 개의 행렬을 연결합니다(하나에 많은 작업을 수행하는 것처럼) go)
?imageaffinematrixget — 선택적 클리핑 영역을 사용하여 affine Trasformed src 이미지가 포함된 이미지를 반환합니다
?imagealphablending — 이미지의 색상 혼합 모드 설정
?imageantialias — 앤티앨리어싱 기능 사용 여부
?imagearc — 타원형 호 그리기
?imagechar — 가로로 문자 그리기
?imagecharup — 세로로 문자 그리기
?imagecolorallocate — 이미지에 색상 지정
?imagecolorallocatealpha — 색상 지정 + 이미지에 대한 알파
?imagecolorat — 픽셀의 색상 인덱스 값 가져오기
?imagecolorclosest — 지정된 색상에 가장 가까운 색상의 인덱스 값 가져오기
?imagecolorclosestalpha — 지정된 색상에 가장 가까운 색상 가져오기 색상 + 투명도
?imagecolorclosesthwb — 지정된 색상에 가장 가까운 색도의 흑백을 가져옵니다. 색상 인덱스
?imagecolordeallocate — 이미지 색상 할당 취소
?imagecolorexact — 지정된 색상의 인덱스 값을 가져옵니다.
?imagecolorexactalpha — 지정된 색상과 투명도의 인덱스 값을 가져옵니다.
?imagecolormatch — 이미지 만들기 중간 팔레트 버전의 색상이 트루 컬러 버전과 더 잘 일치합니다
?imagecolorresolve — 이미지의 인덱스 값을 가져옵니다. 지정된 색상 또는 가장 가까운 가능한 대체 값
?imagecolorresolvealpha — 지정된 색상 + 알파의 인덱스 값 가져오기 또는 가장 가까운 가능한 대체 값
?imagecolorset — 지정된 팔레트 인덱스의 색상 설정
?imagecolorsforindex — 인덱스 색상 가져오기
?imagecolorstotal — 이미지 팔레트 가져오기
?imagecolortransparent의 색상 수 — 색상을 투명 색상으로 정의
?imageconvolution — 계수가 있는 3x3 컨볼루션 행렬 적용 div 및 오프셋
?imagecopy — 이미지의 일부 복사
? imagecopymerge — 이미지의 일부 복사 및 병합
?imagecopymergegray — 이미지의 일부를 회색조로 복사 및 병합
?imagecopyresampled — 복사 리샘플링 및 크기 조정이 포함된 이미지의 일부
?imagecopyreised — 이미지의 일부 복사 및 크기 조정
?imagecreate — 새 팔레트 기반 이미지 생성
?imagecreatefromgd2 — GD2 파일 또는 URL에서 새 이미지 생성
?imagecreatefromgd2part — 지정된 GD2 파일 또는 URL의 일부에서 새 이미지 생성
?imagecreatefromgd — GD 파일 또는 URL에서 새 이미지 생성
?imagecreatefromgif — 파일 또는 URL에서 새 이미지 생성 URL.
?imagecreatefromjpeg — 파일이나 URL에서 새 이미지를 만듭니다.
?imagecreatefrompng — 파일이나 URL에서 새 이미지를 만듭니다.
?imagecreatefromstring — 문자열의 이미지 스트림에서 새 이미지를 생성합니다.
?imagecreatefromwbmp — 파일 또는 URL에서 새 이미지를 생성합니다.
?imagecreatefromwebp — 파일이나 URL에서 새 이미지를 만듭니다.
?imagecreatefromxbm — 파일이나 URL에서 새 이미지를 만듭니다.
?imagecreatefromxpm — 파일이나 URL에서 새 이미지를 만듭니다.
?imagecreatetruecolor — 새로운 트루 컬러 이미지 생성
?imagecrop — 주어진 좌표와 크기, x, y, 너비 및 높이를 사용하여 이미지 자르기
?imagecropauto — 사용 가능한 중 하나를 사용하여 자동으로 이미지 자르기 모드
?imagedashedline — 점선 그리기
?imagedestroy — 이미지 삭제
?imageellipse — 타원 그리기
?imagefill — 영역 채우기
?imagefilledarc — 타원형 호를 그리고 채우기 it
?imagefilledellipse — 타원을 그려 채우기
?imagefilledpolygon — 다각형을 그려 채우기
?imagefilled직사각형 — 사각형을 그려 채우기
?imagefilltoborder — 테두리까지 영역 채우기 지정된 색상
?imagefilter — 이미지에 필터 적용
?imageflip — 지정된 모드 텍스트 상자를 사용하여 이미지 뒤집기
?imagefttext — FreeType 2 글꼴을 사용하여 이미지에 텍스트 쓰기
?imagegammacorright — 적용 GD 이미지에 대한 감마 보정
?imagegd2 — GD2 이미지를 브라우저나 파일로 출력
?imagegd — GD 이미지를 브라우저나 파일로 내보내기
?imagegif — 이미지를 브라우저나 파일로 내보냅니다.
?imagegrabscreen — 전체 화면 캡처
?imagegrabwindow — 창 캡처
?imageinterlace — 인터레이스 활성화 또는 비활성화
?imageistruecolor — 이미지가 트루 컬러 이미지인지 확인
?imagejpeg — 이미지를 브라우저나 파일로 출력합니다.
?imagelayer효과 — 번들 libgd 레이어링 효과를 사용하도록 알파 블렌딩 플래그 설정
?imageline — 선 그리기
?imageloadfont — 새 글꼴 로드
?imagepalettecopy — 팔레트 복사 하나의 이미지에서 복사 to another
?imagepalettetotruecolor — 팔레트 기반 이미지를 트루 컬러로 변환
?imagepng — PNG 형식의 이미지를 브라우저나 파일로 출력
?imagepolygon — 다각형 그리기
?imagepsbbox — PostScript Type1 글꼴을 사용하는 텍스트 상자
?imagepsencodefont — 글꼴의 문자 인코딩 벡터를 변경합니다.
?imagepsextendfont — 글꼴을 확장하거나 압축합니다.
?imagepsfreefont — 글꼴이 차지하는 PostScript Type 1 메모리를 해제합니다
?imagepsloadfont — 파일에서 PostScript Type 1 글꼴 로드
?imagepsslantfont — 글꼴 기울어짐
?imagepstext — PostScript Type1 글꼴을 사용하여 이미지에 텍스트 문자열 그리기
?imageRectangle — 직사각형 그리기
?imagerotate — 주어진 각도로 이미지 회전
?imagesavealpha — PNG 이미지를 저장할 때 전체 알파 채널 정보를 저장하도록 플래그 설정(단일 투명 색상과 반대)
?imagescale — 크기 조정 주어진 새로운 너비와 높이를 사용하는 이미지
?imagesetbrush — 선을 그리는 데 사용되는 브러시 이미지를 설정
?imagesetinterpolation — 보간 방법 설정
?imagesetpixel — 단일 픽셀 그리기
?imagesetstyle — 선 그리기 스타일
?imagesetthickness — 선 그리기의 너비 설정
?imagesettile — 채우기에 사용되는 텍스처 설정
?imagestring — 가로로 문자열 선 그리기
?imagestringup — 선 그리기 string Vertical
?imagesx — 이미지 너비 가져오기
?imagesy — 이미지 높이 가져오기
?imagetruecolortopalette — 트루 컬러 이미지를 팔레트 이미지로 변환
?imagettfbbox — 트루타입 글꼴 가져오기 텍스트 범위
?imagettftext — 트루타입 글꼴을 사용하여 이미지에 텍스트 쓰기
?imagetypes — 현재 PHP 버전에서 지원하는 이미지 유형 반환
?imagewbmp — WBMP 형식의 브라우저나 파일에 이미지 출력
?imagewebp — WebP 형식의 이미지를 브라우저나 파일로 출력
?imagexbm — XBM 이미지를 브라우저나 파일로 출력
?iptcembed — 바이너리 IPTC 데이터를 JPEG 이미지에 포함
?iptcparse — 구문 분석 바이너리 IPTC 블록을 개별 토큰으로
?jpeg2wbmp — JPEG 이미지 파일을 WBMP 이미지 파일로 변환
?png2wbmp — PNG 이미지 파일을 WBMP 이미지 파일로 변환
GD 라이브러리는 Linux와 Windows 시스템 모두에서 사용할 수 있습니다. 기능은 완전히 동일하지만 그래픽 좌표가 오프셋됩니다. 시스템이 서로 마이그레이션되는 경우 인터페이스를 검토해야 합니다.
이미지에 중국어 그리기
<?php // 定义输出为图像类型 header("content-type:image/gif"); // 创建画布 $im = imagecreate(400, 200); // 背景 imagecolorallocate($im, 225, 66, 255); // 文本颜色 $text_color = imagecolorallocate($im, 233, 14, 91); $motto = "Test String 长白山"; //imagestring 默认英文编码,只支持UTF-8 //imagestring($im, 2, 0, 0, $motto, $text_color); //当代码文件为: //ANSI编码,需要转换 //UTF-8编码,不需要转换 //$motto = iconv("gb2312", "utf-8", $motto); imageTTFText($im, 20, 0, 0, 100, $text_color, "c:/windows/fonts/simhei.ttf", $motto); imagegif($im); imagedestroy($im); ?>
인증 코드 생성
<?php session_start(); header("Content-type:image/png"); $imWidth = 70; $imHeight= 18; $im = imagecreate($imWidth, $imHeight); imagecolorallocate($im, 255, 255, 255); srand(microtime() * 100000); for($ix=0; $ix<4; $ix++) $number .= dechex(mt_rand(0, 15)); $_SESSION[check_check] = $number; for($ix=0; $ix<4; $ix++) { $x = $imWidth*$ix/ 4 + mt_rand(1, 8); $y = mt_rand(1, $imHeight / 4); $ft = mt_rand(3, 5); $cor = imagecolorallocate($im, mt_rand(0, 100), mt_rand(0, 150), mt_rand(0, 200)); imagestring($im, $ft, $x, $y, $_SESSION[check_check][$ix], $cor); } imagepng($im); imagedestroy($im); ?>
저작권 표시: 이 글은 블로거 Lang Ya의 저작물입니다. Studio 원본 기사는 블로거의 허가 없이 복제할 수 없습니다.
위 내용은 PHP에서 GD 라이브러리를 사용하여 인증 코드를 생성하고 콘텐츠를 포함하여 이미지에 한자를 그리는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.