ueditor로 사진을 업로드하고 워터마크를 추가하는 방법은 무엇입니까? 다음 글에서는 ueditor를 사용하여 사진을 업로드하고 워터마크를 추가하는 방법을 소개하겠습니다. 도움이 되길 바랍니다!
블로그에 사진을 올릴 때 내 블로그 링크에 워터마크를 넣어주길 바라는데, 너겟과 CSDN이 다 이런 걸 배워야 해요.
일반적인 사진 업로드는 괜찮습니다. 기사를 편집할 때 ueditor를 사용하여 사진을 업로드하고 워터마크를 추가하려면 ueditor의 PHP 소스 코드 일부를 수정해야 합니다.
먼저 php 폴더 아래의 Uploader.class.php를 엽니다
파일 업로드를 위한 주요 처리 방법인 비공개 함수 upFile()을 찾으세요.
라인 122를 찾으세요: $this-> stateInfo = $this->stateMap[0];
$this->stateInfo = $this->stateMap[0];
在这个下面加入:$this->imageWaterMark($this->filePath,9,'logo.png');
$this->imageWaterMark($this->filePath,9,'logo.png'); code> code> imageWaterMark는 사용자 정의 함수입니다. 아래에 언급하겠습니다. $this->filePath는 이미지를 업로드하는 경로, 9는 워터마크의 위치를 나타내며 오른쪽 하단에는 logo.png가 있습니다. 추가할 워터마크 이미지는 같은 디렉토리 /php/에 있습니다. 다른 경로에 넣으시려면 상대 경로를 사용해주세요.
다음은 Uploader 클래스에 추가된 커스텀 함수입니다.
모든 매개변수는 함수 주석에 설명되어 있으므로 호출할 때 주의해야 합니다.
/*
* 功能:PHP图片水印 (水印支持图片或文字)
* 参数:
*$groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
*$waterPos水印位置,有10种状态,0为随机位置;
*1为顶端居左,2为顶端居中,3为顶端居右;
*4为中部居左,5为中部居中,6为中部居右;
*7为底端居左,8为底端居中,9为底端居右;
*$waterImage图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
*$waterText文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
*$textFont文字大小,值为1、2、3、4或5,默认为5;
*$textColor文字颜色,值为十六进制颜色值,默认为#FF0000(红色);
* 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG
*$waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。
*当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。
*加水印后的图片的文件名和 $groundImage 一样。
*/
private function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$textFont=5,$textColor="#FF0000")
{
$isWaterImage = FALSE;
$formatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";
//读取水印文件
if(!empty($waterImage) && file_exists($waterImage))
{
$isWaterImage = TRUE;
$water_info = getimagesize($waterImage);
$water_w = $water_info[0];//取得水印图片的宽
$water_h = $water_info[1];//取得水印图片的高
switch($water_info[2])//取得水印图片的格式
{
case 1:$water_im = imagecreatefromgif($waterImage);break;
case 2:$water_im = imagecreatefromjpeg($waterImage);break;
case 3:$water_im = imagecreatefrompng($waterImage);break;
default:die($formatMsg);
}
}
//读取背景图片
if(!empty($groundImage) && file_exists($groundImage))
{
$ground_info = getimagesize($groundImage);
$ground_w = $ground_info[0];//取得背景图片的宽
$ground_h = $ground_info[1];//取得背景图片的高
switch($ground_info[2])//取得背景图片的格式
{
case 1:$ground_im = imagecreatefromgif($groundImage);break;
case 2:$ground_im = imagecreatefromjpeg($groundImage);break;
case 3:$ground_im = imagecreatefrompng($groundImage);break;
default:die($formatMsg);
}
}
else
{
die("需要加水印的图片不存在!");
}
//水印位置
if($isWaterImage)//图片水印
{
$w = $water_w;
$h = $water_h;
$label = "图片的";
}
else//文字水印
{
$temp = imagettfbbox(ceil($textFont*5),0,"./cour.ttf",$waterText);//取得使用 TrueType 字体的文本的范围
$w = $temp[2] - $temp[6];
$h = $temp[3] - $temp[7];
unset($temp);
$label = "文字区域";
}
if( ($ground_w좋아, 사용하기 쉽습니다. 사진을 업로드하고 워터마크를 추가하는 것은 쉽습니다. <p></p>참고: 워터마크 기능을 사용하려면 GD 라이브러리 모듈이 필요합니다. PHP에 GD 라이브러리 모듈이 설치되어 있는지 확인하세요. <p><a href="https://www.php.cn/course/list/29/type/2.html" target="_blank">추천 학습: "</a>PHP 비디오 튜토리얼</p>"🎜
로그인 후 복사
위 내용은 ueditor를 사용하여 사진을 업로드하고 워터마크를 추가하는 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!