


Fügen Sie PHP-Bildern ein chinesisches Wasserzeichen hinzu, um die gemeinsame Nutzung von Code zu ermöglichen
Beispiel 1
Code kopieren Der Code lautet wie folgt:
Header("Content-type: image/png"); /*Benachrichtigen Sie den Browser, dass ein Bild erstellt werden soll Ausgabe*/
$im = imagecreate(400, 300); /*Größe des Bildes definieren*/
$gray = ImageColorAllocate($im, 235, 235);
$pink = ImageColorAllocate($im, 255, 128 , 255);
$fontfile = "simkai.ttf";
/* $fontfile-Schriftpfad kann je nach Betriebssystem simhei.ttf (schwarzer Körper) sein, SIMKAI.TTF (kursiv), SIMFANG .TTF (Imitation Song Dynasty), SIMSUN.TTC (Song Dynasty & New Song Dynasty) und andere chinesische Schriftarten, die von GD*/
$str = iconv('GB2312','UTF -8','Chinesisches Wasserzeichen'); /*konvertiert den gb2312-Zeichensatz in UTF-8-Zeichen*/
ImageTTFText($im, 30, 0, 100, 200, $pink, $fontfile, $str);
/* Chinesisches Wasserzeichen hinzufügen*/
Imagepng($im);
ImageDestroy($im);
Beispiel 2
Code kopieren Der Code ist wie folgt:
/ /*********************************** ***** //
// Funktion: Text zum Bild hinzufügen
// Parameter: $img Bilddateiname
// $new_img Speichern Sie den Bilddateinamen. Wenn er leer ist, wird nicht gespeichert das Bild
// $text String-Inhalt
// text_size String-Größe
// text_angle Schriftart-String-Ausgabewinkel
// text_x String-Ausgabe x-Koordinate
// text_y String-Ausgabe y-Koordinate
// Name der $text_font-Schriftartdatei
// $r,$g,$b Zeichenfolgenfarbe RGB-Wert
// ********************* ************ *********** //
function img_text($img, $new_img, $text, $text_size, $text_angle, $text_x, $ text_y, $text_font, $r, $g, $ b){
$text=iconv("gb2312","UTF-8",$text); ");
$im = @imagecreatefromstring( file_get_contents($img)) oder sterben ("Fehler beim Öffnen des Bildes!");
$color = ImageColorAllocate($im, $r,$g,$b) ;
//ImageTTFText(int im, int size , int angle, int x, int y, int col, string fontfile, string text):
//Diese Funktion schreibt TTF-Schriftarttext (TrueType Fonts) in die Bild.
//Parameter: Größe ist die Schriftgröße;
// Winkel ist der Winkel der Schrift, berechnet im Uhrzeigersinn, 0 Grad ist horizontal (von links nach rechts), 90 Grad ist der Text von unten nach top ;
// Die beiden Parameter x und y sind die Koordinatenwerte des Textes (der Ursprung ist die obere linke Ecke);
// col ist die Farbe des Textes; Fontfile ist der Name der Schriftartdatei;
/ /text ist der String-Inhalt.
ImageTTFText($im, $text_size, $text_angle, $text_x, $text_y, $color, $text_font, $text);
if ($new_img==""):
ImageGif($im ); // Das Bild nicht speichern, sondern nur anzeigen
ImageGif($im,$new_img); // Das Bild speichern, aber nicht anzeigen
ImageDestroy ($im); / /Grafiken beenden und Speicherplatz freigeben
}
Beispiel 3
Code kopieren Der Code lautet wie folgt:
/*
* Funktion: PHP-Bildwasserzeichen (Wasserzeichen unterstützt Bilder oder Text)
* Parameter:
* Das Hintergrundbild von $groundImage, also das Bild, das mit einem Wasserzeichen versehen werden muss, unterstützt derzeit nur GIF , JPG, PNG-Formate;
* $waterPos-Wasserzeichenposition, es gibt 10 Zustände, 0 ist eine zufällige Position; ist Mitte links, 5 ist Mitte Mitte, 6 ist Mitte Rechts; 7 bedeutet unten links, 8 bedeutet unten in der Mitte, 9 bedeutet unten rechts; , das als Wasserzeichen verwendete Bild, unterstützt derzeit nur die Formate GIF, JPG und PNG; * $textFont-Textgröße, der Wert ist 1, 2, 3, 4 oder 5, der Standardwert ist 5; * $textColor-Textfarbe, der Wert ist ein hexadezimaler Farbwert, der Standardwert ist #FF0000 (rot);
*
* Hinweis: Unterstützt GD 2.0, unterstützt FreeType, GIF Read, GIF Create, JPG, PNG
* Es ist am besten, $waterImage und $waterText nicht gleichzeitig zu verwenden. Wählen Sie einfach eines davon aus sie und verwenden Sie zuerst $waterImage.
* Wenn $waterImage gültig ist, sind die Parameter $waterString, $stringFont und $stringColor nicht gültig.
* Der Dateiname des mit Wasserzeichen versehenen Bildes ist derselbe wie $groundImage.
* Autor: longware @ 2004-11-3 14:15:13
*/
function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$ textFont=5,$textColor=“#FF0000″)
{
$isWaterImage = FALSE;
$formatMsg = „Dieses Dateiformat wird noch nicht unterstützt, um das Bild in GIF zu konvertieren oder JPG., PNG-Format. ";
//Wasserzeichendatei lesen
if(!emptyempty($waterImage) && file_exists($waterImage))
{
$isWaterImage = TRUE;
$water_info = getimagesize($waterImage);
$water_w = $water_info[0];//Ermitteln Sie die Breite des Wasserzeichenbilds.
$water_h = $water_info[1];//Erhalten Sie die Höhe des Wasserzeichens Bild
switch($water_info[2])//Erhalten Sie das Format des Wasserzeichenbildes
{
case 1:$water_im = imagecreatefromgif($waterImage);break;
case 2:$water_im = imagecreatefromjpeg($ waterImage) ;break;
case 3:$water_im = imagecreatefrompng($waterImage);break;
default:die($formatMsg);
}
//Hintergrundbild lesen
if(!emptyempty($groundImage) && file_exists($groundImage))
{
$ground_info = getimagesize($groundImage);
$ground_w = $ground_info[0];//Den Hintergrund abrufen Bildbreite
$ground_h = $ground_info[1];//Ermitteln Sie die Höhe des Hintergrundbilds
switch($ground_info[2])//Erhalten Sie das Format des Hintergrundbilds
{
Fall 1:$ground_im = imagecreatefromgif($groundImage);break;
Fall 2:$ground_im = imagecreatefromjpeg($groundImage);break;
Fall 3:$ground_im = imagecreatefrompng($groundImage);break; >default:die( $formatMsg);
}
}
else
{
die("Das Bild, das mit einem Wasserzeichen versehen werden muss, existiert nicht!");
}
//Wasserzeichenposition
if($isWaterImage)//Bildwasserzeichen
{
$w = $water_w;
$h = $water_h;
}
else//Textwasserzeichen
{
$temp = imagettfbbox(ceil($textFont*5),0“,./cour.ttf“,$waterText);//Get the Textbereich mit TrueType-Schriftart
$w = $temp[2] - $temp[6]; ;
$label = "Textbereich";
}
if( ($ground_w<$w) || ($ground_h<$h) )
{
echo "Die Länge oder Breitenverhältnis des Bildes, das mit einem Wasserzeichen versehen werden muss. Das Wasserzeichen „.$label“ ist zu klein, um ein Wasserzeichen zu erzeugen! ";
return;
}
switch($waterPos)
{
case 0://random
$posX = rand(0,($ground_w - $w)) ;
$posY = rand(0,($ground_h - $h));
case 1://1 ist oben links
$posY = 0;
break;case 2://2 ist oben zentriert
$posX = ($ground_w - $w) / 2;
Fall 3://3 bedeutet oben rechts
$posX = $ground_w - $w;
$posY = 0;
Fall 4://4 bedeutet Mitte links
$posX = 0;
$posY = ($ground_h - $h) / 2;
break;
case 5://5 ist in der Mitte zentriert
$posX = ($ ground_w - $w) / 2;
$posY = ($ground_h - $h) / 2;
break; $ground_w - $ w;
$posY = ($ground_h - $h) / 2;
case 7://7 ist unten links
$posX = 0; $posY = $ground_h - $h;
break;
case 8://8 ist unten zentriert
$posX = ($ground_w - $w) / 2; - $ h;
break;case 9://9 ist unten rechts
$posX = $ground_w - $w;
default://random
$posX = rand(0,($ground_w - $w));
$posY = rand(0,($ground_h - $h)); ;
}
//Legen Sie den Farbmischmodus des Bildes fest
imagealphablending($ground_im, true);
if($isWaterImage)//Bildwasserzeichen
{
imagecopy( $ground_im , $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//Kopiere das Wasserzeichen in die Zieldatei
}
else//Textwasserzeichen
{
if( ! emptyempty($textColor) && (strlen($textColor)==7) )
{
$R = hexdec(substr($textColor,1,2)); hexdec(substr( $textColor,3,2));
$B = hexdec(substr($textColor,5));
}
else
{
die("Das Wasserzeichen Das Textfarbformat ist falsch! ”);
}
imagestring ( $ground_im, $textFont, $posX, $posY, $waterText, imagecolorallocate($ground_im, $R, $G, $B));
}
//Bild mit Wasserzeichen generieren
@unlink($groundImage);
switch($ground_info[2])//Format des Hintergrundbilds abrufen
{
case 1:imagegif($ground_im, $groundImage);break;
case 2:imagejpeg($ground_im,$groundImage);break
case 3:imagepng($ground_im,$groundImage);break; ;
}
//Speicher freigeben
if(isset($water_info)) unset($water_info);
if(isset($water_im)) imagedestroy($water_im); ($ground_info);
imagedestroy($ground_im>}
//—————————————— — —
$id=$_REQUEST['id'];
$num = count($_FILES['userfile']['name']); ;
print_r($_FILES['userfile']['name']);
echo $num
echo „
“;
for($i=0;$i<$id;$i++){
if(isset($_FILES) && !emptyempty($_FILES['userfile']) && $_FILES['userfile']['size']>0)
{
$uploadfile = „./“ .time().“_“.$_FILES['userfile'][name][$i];
echo „
“;
echo $uploadfile;
if (copy($_FILES['userfile']['tmp_name'][$i], $uploadfile))
{
echo „OK
“;
//文字水印
//imageWaterMark($uploadfile,5“,"“,HTTP://www.lvye.info“,5“,#cccccc“);
//图片水印
$waterImage=“logo_ok1.gif“;//水印图片路径
imageWaterMark($uploadfile,9,$waterImage);
echo „“;
}
else
{
echo „Fail
“;
}
}
}
}
?>
代码4
复制代码 代码如下:
增加中文水印
/*---------------- ---------------------------------------------
**描述:这是用于给指定图片加底部水印(不占用图片显示区域)的自定义类,需创建对象调用
**创建:2007-10-09
**更新:2007-10 -09片, jpg/jpeg/gif/png, 其它类型不处理
3、注意图片所在目录的属性必须可写
4、调用范例:
$objImg = new MyWaterDownChinese();
$objImg->Path = "images/";
$objImg->FileName = "1.jpg";
$objImg->Text = "HAHAKONGJIAN[url]HTTP://HI.BAIDU.COM/LYSONCN[/url]";
$objImg->Font = "./font/simhei.ttf";
$objImg->Run();
**成员函数:
---------------------------------------------------- -------------------------*/
class MyWaterDownChinese{
var $Path = "./"; //图片所在目录相对于调用此类的页面的相对路径
var $FileName = ""; //图片的名字,如„1.jpg“
var $Text = ""; //图片要加上的水印文字,支持中文
var $TextColor = "#ffffff"; //文字的颜色,gif图片时,字体颜色只能为黑色
var $TextBgColor = "#000000"; //文字的背景条的颜色
var $Font = "c://windows//fonts//simhei.ttf"; //字体的存放目录,相对路径
var $OverFlag = true; //是否要覆盖原图,默认为覆盖,不覆盖时,自动在原图文件名后+"_water_down",如“1.jpg“=> "1_water_down.jpg"
var $BaseWidth = 200; //图片的宽度至少要>=200,才会加上水印文字。
//----------- ---------------------------------------
//功能:类的构造函数(php5.0以上的形式)
//参数:无
//返回:无
function __construct(){;}
//---------- -------------------------------------------------- ------
//功能:类的析构函数(php5.0以上的形式)
//参数:无
//返回:无
function __destruct(){ ;}
//--------------- ---------
//---------------------- --------------
//功能:对象运行函数,给图片加上水印
//参数:无
//返回:无
Funktion Run()
{
if($this->FileName == "" || $this->Text == "")
return;
//检测是否安装GD库
if(false == function_exists("gd_info"))
{
echo "系统没有安装GD库,不能给图片加水印." ;
zurück;
}
//设置输入、输出图片路径名
$arr_in_name = explosion(".",$this->FileName);
//
$inImg = $this->Path.$this->FileName;
$outImg = $inImg;
$tmpImg = $this->Path.$arr_in_name[0]."_tmp.".$arr_in_name[1]; //临时处理的图片,很重要
if(!$this->OverFlag)
$outImg = $this->Path.$arr_in_name[0]."_water_down.".$arr_in_name[1 ];
//检测图片是否存在
if(!file_exists($inImg))
return ;
//Die Attribute des Bildes abrufen
$groundImageType = @getimagesize($inImg);
$imgWidth = $groundImageType[0];
$imgHeight = $groundImageType[1]; = $groundImageType[2];
if($imgWidth < $this->BaseWidth) //Wenn es kleiner als die Grundbreite ist, wird es nicht verarbeitet
return; das Bild ist nicht jpg/jpeg/gif/png, nicht verarbeitet
switch($imgType)
{
Fall 1:
$image = imagecreatefromgif($inImg); >TextBgColor = "#ffffff"; //gif Die Bildschrift kann nur schwarz sein, daher ist die Hintergrundfarbe auf Weiß eingestellt
break
case 2:
$image = imagecreatefromjpeg($inImg) ;
break;
$image = imagecreatefrompng($inImg);
return;
} >//Farbe erstellen
$color = @imagecolorallocate( $image,hexdec(substr($this->TextColor,1,2)),hexdec(substr($this->TextColor,3,2)) ,hexdec(substr($this->TextColor,5, 2))); //Textfarbe
//Erzeuge ein leeres Bild, dessen Höhe um die Wasserzeichenhöhe unten erhöht wird
$newHeight = $imgHeight+20;
$objTmpImg = @imagecreatetruecolor($imgWidth ,$newHeight);
$colorBg = @imagecolorallocate($objTmpImg,hexdec(substr($this->TextBgColor,1,2)), hexdec(substr($this->TextBgColor,3,2)) ,hexdec(substr($this->TextBgColor,5,2))); //Hintergrundfarbe
//Hintergrundfarbe des gefüllten Bildes
@imagefill ($objTmpImg,0,0,$colorBg);
//Kopieren Sie das Originalbild in das temporäre Bild
@imagecopy($objTmpImg,$image,0,0,0,0, $imgWidth,$imgHeight);
//Erstellen Sie das zu schreibende Wasserzeichen-Textobjekt
$objText = $this->createText($this->Text);
//Berechnen Sie die Position des zu schreibenden Wasserzeichentextes
$x = 5;
$ y = $newHeight-5;
//Textwasserzeichen schreiben
@imagettftext($objTmpImg,10,0,$x, $y,$color,$this->Font,$objText);
//Neue Bilder generieren, temporäre Bilder
switch($imgType)
{
Fall 1:
imagegif ($objTmpImg,$tmpImg);
break
imagejpeg($objTmpImg,$tmpImg);
imagepng($objTmpImg, $tmpImg);
break
return;
}
@imagedestroy($objTmpImg); ($image);
//Datei umbenennen
if ($this->OverFlag)
{
//Das Originalbild überschreiben
@unlink($inImg>); @rename($tmpImg,$outImg);
}
else
{
//Das Originalbild nicht überschreiben
@rename($tmpImg,$outImg>}
}
//--------- ----------------------------
/ /Funktion: Wasserzeichen-Textobjekt erstellen
//Parameter: Keine
//Rückgabe: Erstelltes Wasserzeichen-Textobjekt
function createText($instring)
{
$outstring=""
$max=strlen($instring);
for($i =0;$i<$max;$i++)
{
$h=ord($instring[$i]); 🎜>if($h>=160 && $i<$max-1 )
{
$outstring .= "".base_convert(bin2hex(iconv("gb2312","ucs-2", substr($instring,$i,2))),16,10) .";";
$i++; $i];
}
return $ outstring;
}//class
?>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
