使用PHP 5.0創(chuàng)建圖形的巧妙方法
更新時間:2010年10月12日 18:51:52 作者:
本文將展示如何使用 PHP 構(gòu)建面向?qū)ο?的)圖形層。使用面向?qū)ο?的)系統(tǒng)可以用來構(gòu)建復(fù)雜(的)圖形,這比使用標(biāo)準(zhǔn) PHP 庫中所提供(的)基本功能來構(gòu)建圖形簡單(很)多。
我將圖形編輯程序分為兩類:一類(是)繪圖程序,利用這種程序可以一個像素一個像素(地)繪制圖像;另外一類(是)制圖程序,這種程序提供了一組對象,例如線、橢圓和矩形,您可以使用這些對象來組合成一幅大圖像,例如 JPEG。繪圖程序非常適合進行像素級(的)控制。但(是)對于業(yè)務(wù)圖形來說,制圖程序(是)比較好(的)方式,因為大部分圖形都(是)由矩形、線和橢圓組成(的)。
PHP 內(nèi)置(的)制圖基本操作與繪圖程序非常類似。它們對于繪制圖像來說功能非常強大;但(是)如果您希望自己(的)圖像(是)一組對象集合時,這(就)不太適合了。本文將向您展示如何在 PHP 圖形庫(的)基礎(chǔ)上構(gòu)建一個面向?qū)ο?的)圖形庫。您將使用 PHP V5 中提供(的)面向?qū)ο?的)擴展。
具有面向?qū)ο?的)圖形支持之后,您(的)圖形代碼(就)非常容易理解和維護了。您可能還需要從一種單一(的)圖形源將圖形合成為多種類型(的)媒介:Flash 電影、SVG 等等。
目標(biāo)
創(chuàng)建一個圖形對象庫包括 3 個主要(的)目標(biāo):
從基本操作切換到對象上
它不使用 imageline、imagefilledrectangle 以及其他圖形函數(shù),這個庫應(yīng)該提供一些對象,例如 Line、Rectangle 和 Oval,它們可以用來制作圖像。它應(yīng)該還可以支持構(gòu)建更大(的)復(fù)雜對象或?qū)ο筮M行分組(的)功能。
可以進行 z 值排序
制圖程序讓畫家可以在畫面表面上上下移動圖形對象。這個庫應(yīng)該可以支持將一個對象放到其他對象前后(的)功能:它使用了一個 z 值,用來定義對象從制圖平面開始(的)高度。z 值越大(的)對象被畫(得)越晚,(也就)出現(xiàn)在那些 z 值較小(的)對象之上。
PHP 內(nèi)置(的)制圖基本操作與繪圖程序非常類似。它們對于繪制圖像來說功能非常強大;但(是)如果您希望自己(的)圖像(是)一組對象集合時,這(就)不太適合了。本文將向您展示如何在 PHP 圖形庫(的)基礎(chǔ)上構(gòu)建一個面向?qū)ο?的)圖形庫。您將使用 PHP V5 中提供(的)面向?qū)ο?的)擴展。
具有面向?qū)ο?的)圖形支持之后,您(的)圖形代碼(就)非常容易理解和維護了。您可能還需要從一種單一(的)圖形源將圖形合成為多種類型(的)媒介:Flash 電影、SVG 等等。
目標(biāo)
創(chuàng)建一個圖形對象庫包括 3 個主要(的)目標(biāo):
從基本操作切換到對象上
它不使用 imageline、imagefilledrectangle 以及其他圖形函數(shù),這個庫應(yīng)該提供一些對象,例如 Line、Rectangle 和 Oval,它們可以用來制作圖像。它應(yīng)該還可以支持構(gòu)建更大(的)復(fù)雜對象或?qū)ο筮M行分組(的)功能。
可以進行 z 值排序
制圖程序讓畫家可以在畫面表面上上下移動圖形對象。這個庫應(yīng)該可以支持將一個對象放到其他對象前后(的)功能:它使用了一個 z 值,用來定義對象從制圖平面開始(的)高度。z 值越大(的)對象被畫(得)越晚,(也就)出現(xiàn)在那些 z 值較小(的)對象之上。
相關(guān)文章
PHP學(xué)習(xí)筆記 IIS7下安裝配置php環(huán)境
PHP學(xué)習(xí)筆記 IIS7下安裝配置php環(huán)境,需要的朋友可以參考下2012-10-10PHP計劃任務(wù)、定時執(zhí)行任務(wù)的實現(xiàn)代碼
PHP計劃任務(wù)、定時執(zhí)行任務(wù)的實現(xiàn)用到的函數(shù) ignore_user_abort(),set_time_limit(0),sleep($interval) 此代碼只要運行一次后關(guān)閉瀏覽器即可。2011-04-04