亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

PHP如何生成動態圖象

添加時間:2014-7-28 1:22:06  添加: 思海網絡 

綜述:PHP中有一組圖像函數,可以動態生成gif格式的圖像數據流并輸出到服務器,這樣我們就可以按照用戶的需求及時地在線生成圖像。下面我們以生成一個按鈕為例子來談一談如何用PHP生成動態圖像。

  動態圖像是怎樣被生成的?

  讓我們先看看下面的代碼,如果第一次瀏覽該頁或者用戶置表單為空,則默認值為"Go!";如果用戶輸入了信息并提交表單,這段代碼將被重新調用且進行初始化。

<?
If (!isset($string)||$string==""){$string="Go!";}
?> 
<form action=button.php> 
Button text; 
<input type=text name=string value="<? pint $string; ?>"> 
<input type=submit> 
</form>

  這個文件的其余的部分就是簡單的在表格中輸出一些元素和調用其他的文件。

  現在,我們開始制作按鈕。第一個例子是生成一個黑邊兒綠底兒的橢圓文字按鈕。我們通過一個標準的<IMG>標簽兒來顯示按鈕圖象;SRC的值是生成按鈕圖象的文件。

<img src="green_ellipse.php?string=<? print rawurlencode($string); ?>"> 

  下面讓我們看看生成橢圓的文件"green_ellipse.php"

  生成橢圓

  這里列出了green_ellipse.php的代碼,我們以Header()開頭,可以向Apache服務器發從一個HTTP的頭信息,這一步告訴Server使用的什么數據,本例中我們使用的是GIF的格式:

<? 
Header("Content-Type: image/gif");

//現在我們將生成一幅空的圖象,并且將其賦值給變量$id: 
$id=ImageCreate($img_width,$img_height); 
//圖像潤色
……
//使用內嵌的五號字在按鈕上寫上文字,最后給按鈕上的文字設置變量$black的顏色: 
ImageString($id, 5,($img_center_x-($str_width/2+1), img_center_y-($str_height/2)), $string, $black); 
//最后,把圖象從內存中道出到標準輸出緩沖--這是Server將得到的圖象的內容: 
ImageGIF($id); 
?> 

  這個程序只適合像"Go!"這樣短的按鈕,像"Please click here!"這樣的長字符串就會不好看。沒關系,看看下面這個圓邊矩形。

  生成更美觀的圖樣

  這個例子將生成一個黑邊兒,黃色棱角的圖樣。你可以看到這種方法比第一個例子更適合長字符串的按鈕。

  如果你看了前面的代碼,這里的代碼你就容易看懂了。我們將從生成按鈕的形狀開始。

  在每一個字符串的結尾處建立20個象素的邊緣,并在字符串的上下各建10個象素的邊緣:

<?php
初始化,參數設定
……
在圖象的左端畫了一個半圓,再從六點通過九點畫到12點: 
ImageArc($id,20,$img_center_y,20,$str_height+20,90,270,$black);
對于右端,是同上面一樣的,只是從右端20象素開始畫起,并且掠過相反的半圈兒--從12點通過3點到六點: 
ImageArc($id,($img_width-20),$img_center_y,20,$img_height+20,270,90,$black); 
最后,從一端的端頂向另一端畫一條直線,同樣在底部也畫一條直線。這樣閉合了形狀的內部。 
ImageLine($id,20,0,($img_width-20),0,$black); 
ImageLine($id,20,$img_height-1,($img_width-20),$img_height-1,$black); 
在這個區域里填充變量$yellow所定義的顏色,并充滿整個區域: 
ImageFillToBorder($id,$img_center_x,$img_center_y,$black,$yellow); 
再將字符串寫入到圖象中,之后向標準輸出打印圖象: 
ImageString($id, 5, ($img_center_x-($str_width/2)+1,($img_center_y-($str_height/2)), $string, $black); 
ImageGIF($id); 
?>  
  如何修改一幅已經存在的圖象?

  在這里,我們將修改一幅已經存在的圖象,將其存為一幅新的圖象文件,同時顯示一幅動態的圖象。首先,我們把mymonkdy.gif調入內存,并將其賦值給$id。

<? 
$id=ImageCreateFromGif("mymonkey.gif"); 
//現在我們設置字體顏色,并將它放到圖象上。 
$yellow=ImageColorAllocate($id,,255,255,0); 
//以左上角為(0,0)點,從(10,20)地方開始用內嵌四號字體寫上字符串,同時我將它設為大寫,并加了感嘆號,以使其顯得更加生動。 
ImageString($id,4,10,20,strtoupper($string."!"),$yellow); 
//現在我們將圖象從內存存入文件http://edu.cnzz.cn/NewsInfo/newmonkey.gif。 
ImageGIF($id,"http://edu.cnzz.cn/NewsInfo/newmonkey.gif"); 
?> 
這樣就差不多了:http://edu.cnzz.cn/NewsInfo/newmonkey.gif可以用來顯示了,瀏覽器的設置是這樣的: 
<td> 
<img src="http://edu.cnzz.cn/NewsInfo/newmonkey.gif" border=0> 
</td> 
</tr> 
</table>

  如何在PHP沒有GD支持的情況下做統計數據的圖形顯示?

  利用HTML對圖形的控制完全可以達到我們的需要,開始之前先讓我們回顧一下HTML對圖形控制的語法:

  < IMG SRC=# ALT=# Width=# Height=# ...... >

  我們需要作的就是對Width和Height兩個參數的控制,下面我們給個例子:

  <?php 
  $rows[]={12,45,43,23,32,87,14,22,19,40}; //數組初始化,可以從數據取出。 
  $sums=0; 
  for ( $i = 0 ; $i < 10 ;$i++ ) $sums+=$rows[$i]; //求和 
  for ( $i = 0 ; $i < 10 ;$i++ ) {
    if ($sums * $rows[$i] ) { //為0則不進行處理,避免0除溢出 
      $tmp=$rows[$i]/$sums*100; 
      echo " <img src=http://edu.cnzz.cn/NewsInfo/bar.gif height=9 width=".$tmp.">"; 
      //輸出圖形,http://edu.cnzz.cn/NewsInfo/bar.gif是只有一個點的圖形文件,這里是橫向圖形,縱向改height即可. 
      echo " (".sprintf('%01.2f',$tmp)."%)"; 
      echo "<BR>"; 
    } 
  }
?> 

  怎樣實現PHP和Flash動畫的交互操作?

  我們用一個flash加上php做身份認證的例子說明一下:

  首先在主場景中加入三個textfield和一個按鈕。

  然后就是給這三個textfield付上名稱。 
   第一個是 name,用來輸入用戶名 
   第二個是 password,用來輸入密碼 
   第三個是output,用來顯示判斷結果。

  最后就是給按鈕的點擊加上動作。

   Load Variables ("check.php", 1, vars=POST) 

  這個action的內容很多,第一是把主場景的幾個變量值傳給check.php.第二還要從check.php中再返回output的值來。

   <? 
   ..... 
   .... 
   ///用sql 語句,找出$name的密碼賦給 password 
   //判斷第二個文本框的內容,密碼是否第一個文本文本框name找到的密碼 
   if($passwd==$password) 
     echo "output=welcome ".$name." this is a program by php and flash"; //如果等于的話,就將output文本框的值等于歡迎信息 
   else 
     echo "output=sorry , ".$name." your password is not correct"; //如果不等于,就顯示出錯信息。 
   ?> 

關鍵字:PHP、圖象、信息 

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站