图象函数_PHP

Jun 01, 2016 pm 12:39 PM
函数 图像 颜色

PHP中有一组图像函数,可以动态生成gif格式的图像数据流并输出到服务器. 为了这组函数能够工作,系统中必须有gd库的支持.如果是在Unix下, 应该在编译PHP之前先取得gd的源码并编译之,生成libgd.a和一些.h文件,分别拷到系统的库目录和头文件目录中(例如/usr/lib和/usr/include);如果是在Windows下,PHP3.0的安装程序会安装一个gd.dll文件,在程序中加一句'dl("gd.dll");'即可使用图像函数.

主要的图像函数有:

(1)ImageCreate(宽度,高度)

返回一个图像描述符.

 

(2)ImageCreateFromGif(文件名);

返回一个图像描述符.

 

(3)ImageColorAllocate(图像描述符,红,绿,蓝);

返回一个颜色描述符.由于Gif图像只能有256色,必须先对它分配调色板, 这个语句就是分配一个调色板项.

 

(4)ImageColorTransparent(图像描述符,颜色描述符);

指定某颜色为透明色.

 

(5)ImageArc(图像描述符,圆心横坐标,圆心纵坐标,椭圆宽,椭圆高,起始角,终止角,颜色描述符);

ImageChar(图像描述符,字体,x,y,字符,颜色描述符);

ImageCharUp(图像描述符,字体,x,y,字符,颜色描述符);

ImageCopyResized(目标图像描述符,源图像描述符,目标x,目标y,源x,源y,目标宽,目标高,源宽,源高);

ImageDashedLine(图像描述符,x1,y1,x2,y2,颜色描述符);

ImageFill(图像描述符,起始点x,起始点y,颜色描述符);

ImageFilledPolygon(图像描述符,各顶点数组,顶点数,颜色描述符);

ImageFilledRectangle(图像描述符,x1,y1,x2,y2,颜色描述符);

ImageFillToBorder(图像描述符,起始点x,起始点y,边界色,填充色);

ImageLine(图像描述符,x1,y1,x2,y2,颜色描述符);

ImagePolygon(图像描述符,各顶点数组,顶点数,颜色描述符);

ImageRectangle(图像描述符,x1,y1,x2,y2,颜色描述符);

ImageSetPixel(图像描述符,x,y,颜色描述符);

ImageString(图像描述符,字体,x,y,字符串,颜色描述符);

ImageStringUp(图像描述符,字体,x,y,字符串,颜色描述符);

这些都是画图函数,需要略做解释的就是多边形的顶点数组内依次存放着第一点x,第一点y,第二点x,第二点y,...

 

(6)ImageLoadFont(文件名);

文件应该是一个位图字体文件,返回一个字体号.系统缺省带有1-5字体号, 可以直接使用.

 

(7)ImageSX,ImageSY

分别得到一个图像的宽度和高度,接收一个图像描述符参数.

 

(8)ImageColorAt(图像描述符,x,y);

ImageColorClosest(图像描述符,红,绿,蓝);

ImageColorExact(图像描述符,红,绿,蓝);

ImageColorSet(图像描述符,颜色描述符,红,绿,蓝);

ImageColorsForIndex(图像描述符,颜色描述符);

ImageColorsTotal(图像描述符);

前三个返回一个颜色描述符.ImageColorExact如果找不到匹配则返回-1.

ImageColorsForIndex返回一个三项的数组,元素分别是红,绿,蓝值.

ImageColorsTotal返回总颜色数.

 

(9)ImageFontHeight,ImageFontWidth

接收一个字体号作为参数.

 

(10)ImageGif(图像描述符,[文件名]);

如无文件名,则将gif数据流送往浏览器.这时程序一开始应该有一句: Header("Content-type: image/gif")

 

(11)ImageDestroy(图像描述符);

图像函数中有一个小Bug(至少在PHP3.0RC和PHP3.0RC3 For Unix的源码中已经发现,现在www.php.net上的下载文件应该已经更改),就是ImageSetPixel总是在(y,y)处画点,不管x的值是什么,不过这个问题不是很大.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Tipps zum dynamischen Erstellen neuer Funktionen in Golang-Funktionen Apr 25, 2024 pm 02:39 PM

Die Go-Sprache bietet zwei Technologien zur dynamischen Funktionserstellung: Schließung und Reflexion. Abschlüsse ermöglichen den Zugriff auf Variablen innerhalb des Abschlussbereichs, und durch Reflektion können mithilfe der FuncOf-Funktion neue Funktionen erstellt werden. Diese Technologien sind nützlich bei der Anpassung von HTTP-Routern, der Implementierung hochgradig anpassbarer Systeme und dem Aufbau steckbarer Komponenten.

Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Überlegungen zur Parameterreihenfolge bei der Benennung von C++-Funktionen Apr 24, 2024 pm 04:21 PM

Bei der Benennung von C++-Funktionen ist es wichtig, die Reihenfolge der Parameter zu berücksichtigen, um die Lesbarkeit zu verbessern, Fehler zu reduzieren und das Refactoring zu erleichtern. Zu den gängigen Konventionen für die Parameterreihenfolge gehören: Aktion-Objekt, Objekt-Aktion, semantische Bedeutung und Einhaltung der Standardbibliothek. Die optimale Reihenfolge hängt vom Zweck der Funktion, den Parametertypen, möglichen Verwirrungen und Sprachkonventionen ab.

Wie schreibe ich effiziente und wartbare Funktionen in Java? Wie schreibe ich effiziente und wartbare Funktionen in Java? Apr 24, 2024 am 11:33 AM

Der Schlüssel zum Schreiben effizienter und wartbarer Java-Funktionen ist: Halten Sie es einfach. Verwenden Sie eine aussagekräftige Benennung. Bewältigen Sie besondere Situationen. Nutzen Sie entsprechende Sichtbarkeit.

Vivos neuer Speicher der X100-Serie, Farbbelichtung: Alle Serien beginnen bei 12+256 GB Vivos neuer Speicher der X100-Serie, Farbbelichtung: Alle Serien beginnen bei 12+256 GB May 06, 2024 pm 03:58 PM

Laut Nachrichten vom 6. Mai gab vivo heute offiziell bekannt, dass die neue vivo X100-Serie am 13. Mai um 19:00 Uhr offiziell veröffentlicht wird. Es wird davon ausgegangen, dass auf dieser Konferenz voraussichtlich drei Modelle, vivoX100s, vivoX100sPro und vivoX100Ultra, sowie die von vivo selbst entwickelte Bildgebungsmarke BlueImage Blueprint-Bildgebungstechnologie vorgestellt werden. Der digitale Blogger „Digital Chat Station“ hat heute auch die offiziellen Renderings, Speicherspezifikationen und Farbabstimmung dieser drei Modelle veröffentlicht. Darunter verfügt das X100s über ein gerades Bildschirmdesign, während das X100sPro und das X100Ultra über ein gebogenes Bildschirmdesign verfügen. Der Blogger enthüllte, dass das vivoX100s in vier Farben erhältlich ist: Schwarz, Titan, Cyan und Weiß. Die Speicherspezifikationen

Vollständige Sammlung von Excel-Funktionsformeln Vollständige Sammlung von Excel-Funktionsformeln May 07, 2024 pm 12:04 PM

1. Die SUMME-Funktion wird verwendet, um die Zahlen in einer Spalte oder einer Gruppe von Zellen zu summieren, zum Beispiel: =SUMME(A1:J10). 2. Die Funktion AVERAGE wird verwendet, um den Durchschnitt der Zahlen in einer Spalte oder einer Gruppe von Zellen zu berechnen, zum Beispiel: =AVERAGE(A1:A10). 3. COUNT-Funktion, die verwendet wird, um die Anzahl der Zahlen oder Texte in einer Spalte oder einer Gruppe von Zellen zu zählen, zum Beispiel: =COUNT(A1:A10) 4. IF-Funktion, die verwendet wird, um logische Urteile auf der Grundlage spezifizierter Bedingungen zu treffen und die zurückzugeben entsprechendes Ergebnis.

Vergleich der Vor- und Nachteile von C++-Funktionsstandardparametern und variablen Parametern Vergleich der Vor- und Nachteile von C++-Funktionsstandardparametern und variablen Parametern Apr 21, 2024 am 10:21 AM

Zu den Vorteilen von Standardparametern in C++-Funktionen gehören die Vereinfachung von Aufrufen, die Verbesserung der Lesbarkeit und die Vermeidung von Fehlern. Die Nachteile sind eingeschränkte Flexibilität und Namensbeschränkungen. Zu den Vorteilen variadischer Parameter gehören unbegrenzte Flexibilität und dynamische Bindung. Zu den Nachteilen gehören eine größere Komplexität, implizite Typkonvertierungen und Schwierigkeiten beim Debuggen.

Welche Vorteile haben C++-Funktionen, die Referenztypen zurückgeben? Welche Vorteile haben C++-Funktionen, die Referenztypen zurückgeben? Apr 20, 2024 pm 09:12 PM

Zu den Vorteilen von Funktionen, die Referenztypen in C++ zurückgeben, gehören: Leistungsverbesserungen: Durch die Übergabe als Referenz wird das Kopieren von Objekten vermieden, wodurch Speicher und Zeit gespart werden. Direkte Änderung: Der Aufrufer kann das zurückgegebene Referenzobjekt direkt ändern, ohne es neu zuzuweisen. Einfachheit des Codes: Die Übergabe als Referenz vereinfacht den Code und erfordert keine zusätzlichen Zuweisungsvorgänge.

Erweiterte C++-Funktionsausnahme: Angepasste Fehlerbehandlung Erweiterte C++-Funktionsausnahme: Angepasste Fehlerbehandlung May 01, 2024 pm 06:39 PM

Die Ausnahmebehandlung in C++ kann durch benutzerdefinierte Ausnahmeklassen verbessert werden, die spezifische Fehlermeldungen und Kontextinformationen bereitstellen und benutzerdefinierte Aktionen basierend auf dem Fehlertyp ausführen. Definieren Sie eine von std::Exception geerbte Ausnahmeklasse, um spezifische Fehlerinformationen bereitzustellen. Verwenden Sie das Schlüsselwort throw, um eine benutzerdefinierte Ausnahme auszulösen. Verwenden Sie „dynamic_cast“ in einem Try-Catch-Block, um die abgefangene Ausnahme in einen benutzerdefinierten Ausnahmetyp zu konvertieren. Im tatsächlichen Fall löst die Funktion open_file eine FileNotFoundException-Ausnahme aus. Das Abfangen und Behandeln der Ausnahme kann eine spezifischere Fehlermeldung liefern.

See all articles