2011-05-10 36 views
1

我給你們一個關於我的項目的簡要細節。我正在致力於一個網絡應用程序,這是一個倉庫管理系統 。基本上,我使用PHP GD來繪製工廠佈局圖的圖像,每個樓層都包含機架和托盤。
當您懸停在機架或托盤上時,您將能夠看到它的細節。是否可以增加地圖的比例,但仍然可以有效地進行懸停? [使用PHP GD]

因爲使用GD,爲了能夠繪製每個機架或托盤,它需要x和y的特定座標,以及它的寬度和高度。我使用標籤創建區域,以便它可以用jquery進行懸停。

我被要求製作具有給定比例的比例圖像,但我無法弄清楚如何去做。所以我認爲你們可以幫助我。

真的需要幫助。

下面是我的一些代碼示例

while($row = mysql_fetch_array($RecordsetZone)){ 

     $n = substr($row['name'], 4); 
    $font = 2; 
    $textColor = imagecolorallocate ($source,0,0,0); 
    if($row['zonetype']=="Rack"){ 
     imagerectangle($source, $row['xcord'], $row['ycord'] , $row['width']+($row['xcord']), $row['height']+$row['ycord'], $black); 
     imagefilltoborder($source, ($row['xcord'])+1, $row['ycord']+1, $black , $limegreen); 
     imagestring ($source, $font, ($row['xcord'])+2, $row['ycord']+5, $n, $textColor); 
    } 
    elseif($row['zonetype']=="Pallet"){ 
     imagerectangle($source, $row['xcord'], $row['ycord'] , $row['width']+($row['xcord']), $row['height']+$row['ycord'], $black); 
     imagefilltoborder($source, ($row['xcord'])+1, $row['ycord']+1, $black , $dodgerblue); 
     imagestring ($source, $font, ($row['xcord'])+5, $row['ycord']+2, $n, $textColor); 
    } 
} 

這是我通過獲取X,Y從數據庫

<map name="testmap" id="testmap"> 
    <?php $RecordsetZone = mysql_query($query, $cakewms) or die(mysql_error()); 
    while($row = mysql_fetch_array($RecordsetZone)){?> 
    <area id=<?php echo '"'. $row['name']. '"';?> shape="rect" coords=<?php echo '"'. $row['xcord']. ','.$row['ycord']. 
    ',' . ($row['width']+$row['xcord']) . ',' . ($row['height']+$row['ycord']) . '"';?> href="#" alt="Sun" /> 
    <?php }?> 
</map> 

在使用地圖後,爲徘徊創建區域繪製的圖片

如果我改變比例,我還可以懸停在正確的區域嗎?

+0

沒有代碼,我們做什麼? – diEcho 2011-05-10 08:05:39

回答

0

您可以使用特殊的JQuery插件ImageMapster

它允許調整圖像地圖的大小,但仍然保留正確的標記活動區域。

所以,你需要一次生成你的圖像映射,並重新計算onresize將是這個插件的任務。

在使用圖像映像的其他情況下,它也可以是有幫助的。

相關問題