PHP는 이미지 처리 기능을...LOGIN

PHP는 이미지 처리 기능을 사용하여 그림을 그립니다.

아래 그림을 보시죠.

7.png

이 그림은 어떻게 그려야 할까요?

다음 단계에 따라 분석할 수 있습니다.

1. 그림을 그립니다

2. 그림을 그리는 데 필요한 색상을 준비합니다

3. 배경색 채우기

4. 대각선 두 개 그리기

5. 그 위에 원 그리기

6. 원 위에 직사각형 그리기

7. 사진 저장

8. 리소스 파기

1. 이 사진을 바탕으로 단계를 소개하겠습니다. 사용해야 하는 기능을 분석해 보겠습니다.

//使用imagecreate函数创建图片,返回资源
$img = imagecreate(500,500);

2. 이미지가 생성된 후 이미지 리소스에 색상을 추가해야 하며,

$颜色变量 = imagecolorallocate ( resource $图片资源 , int $红 , int $绿 , int $蓝 )

기능 사용하기 빨간색, 녹색, 파란색은 컴퓨터에서 그림을 조작하는 기본 색상 3가지입니다. 이 세 가지 색상이 결합되어 우리가 육안으로 볼 수 있는 모든 색상을 형성합니다.

그래서 imagecolorallocate는 먼저 이미지 리소스를 입력하고 이 리소스를 운영합니다. 이 이미지 자산의 색상을 준비합니다.

그림을 그릴 때 캔버스를 먼저 준비한 다음 물감을 준비하는 것과 같습니다.

이 사진에 따르면 준비해야 할 색상은

1. 녹색

2. 파란색

3. 검정색

4. 브라운

컴퓨터의 컬러 매칭 원리에 따라 할당하면 아래의 컬러 할당 코드는 다음과 같이 작성됩니다.

//红
$red = imagecolorallocate($img, 255, 0, 0);
//绿
$green = imagecolorallocate($img, 0, 255, 0);
//蓝
$blue = imagecolorallocate($img, 0, 0, 255);
//棕
$yellow = imagecolorallocate($img, 121, 72, 0);

사용해야 할 몇 가지 사항 이 사진에서는 색상의 색상 값입니다.

3. 배경에 색상을 추가하여 채웁니다.

imagefilledrectangle ( resource $图片资源 , int $点1x轴, int $点1y轴 , int $点2x轴 , int $点2y轴 , int $color )

이 기능을 사용하려면 기하학에 대한 약간의 지식이 필요합니다.

1. 점은 x 좌표와 y 좌표로 구성됩니다

2. 두 점은 직선을 이룰 수 있습니다

3. 이 선이 수평 또는 수직이 아닌 경우 선은 아래와 같이 직사각형

을 형성할 수 있습니다.

document_2015-09-19_55fd0d5be46bb.png

점 1과 점 2는 직사각형으로 바뀔 수 있습니다. 따라서 두 개의 좌표점을 출력하여 캔버스를 채울 수 있습니다.

캔버스 전체를 채우고 싶다면
1번 지점이 캔버스의 x축이자 0 위치이고, 1번 지점의 y축도 캔버스의 0 위치입니다.

점 2의 x축은 캔버스의 500 위치이고, 점 2의 y축도 캔버스의 500 위치입니다.

4. 대각선 두 개를 그립니다

대각선을 그립니다. 대각선은 빨간색입니다.

첫 번째 대각선의 좌표는 0과 0, 500과 500
두 번째 대각선의 좌표는 500과 0, 0과 500

imageline($img, 0, 0, 500, 500, $red);
imageline($img, 500, 0, 0, 500, $blue);

5. 그 위에 원을 그립니다

bool imagefilledellipse ( resource $图片资源 , int $圆心x , int $圆心y , int $圆的宽 , int $圆的高 , int $圆的颜色 )
imagefilledellipse($img, 250, 250, 200, 200, $yellow);

이 자원을 조작하여 원의 중심 좌표를 씁니다. 그런 다음 길이와 너비를 씁니다. 길이와 너비가 일정하면 완벽한 원이고, 일정하지 않으면 타원입니다.

6. 원 위에 직사각형을 그려주세요

rree

이것에 대해서는 위에서 이야기했으므로 생략하겠습니다. 자세히 살펴보세요.

7. 사진 저장

imagefilledrectangle($img, 200, 200, 300, 300, $blue);

8.

bool imagejpeg ( resource $image [, string $filename])
최종 결합 코드를 살펴보겠습니다:
imagedestroy($img);

다음 섹션
<?php //创建图片 $img = imagecreatetruecolor(500, 500); //分配颜色 $red = imagecolorallocate($img, 255, 0, 0); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); $pur = imagecolorallocate($img, 255, 0, 255); $yellow = imagecolorallocate($img, 121, 72, 0); //填充背景 imagefilledrectangle($img, 0, 0, 500, 500, $green); //画对角线 imageline($img, 0, 0, 500, 500, $red); imageline($img, 500, 0, 0, 500, $blue); //画圆 imagefilledellipse($img, 250, 250, 200, 200, $yellow); //圆中间画矩形 imagefilledrectangle($img, 200, 200, 300, 300, $blue); //保存图片,图片名为haha.jpg imagejpeg($img, 'haha.jpg'); //销毁资源 imagedestroy($img); ?>
코스웨어