2010-09-06 55 views
1

這是我的實際代碼,我遇到了與爲我的php腳本動態生成的gif圖像的正確可視化有關的問題。如果我直接訪問由腳本生成的gif圖像,瀏覽器顯示效果很好,但如果我通過標記img從當前腳本嘗試,則瀏覽器無法顯示它。將Image JPG轉換爲GIF並將其打印到BASE64中的標記IMG中

任何建議朋友?

<?php 
$src = imagecreatefromjpeg('img/ejemplo-2.jpg'); 
list($width, $height) = getimagesize('img/ejemplo-2.jpg'); 
$tmp = imagecreatetruecolor('300', '300'); 
imagecopyresampled($tmp, $src, 0, 0, 0, 0, '300', '300', $width, $height); 
$imagen = imagegif($tmp, "filename.gif"); 
$data = "data:image/gif;base64," . base64_encode(file_get_contents("filename.gif")); 
?> 

<img src="<?php echo $data; ?>" width="300" height="300" /> 
+2

哪個瀏覽器是你的測試? – 2010-09-06 19:06:09

+0

Mozilla Firefox 3.6通過Mac OS X Snow Leopard,這個例子在我的瀏覽器中運行良好:http://diveintogreasemonkey.org/patterns/add-image.html – 2010-09-06 19:13:49

+1

是否有什麼特別的原因需要使用數據URI方案?它在所有瀏覽器中都不受支持,並且您將通過base64編碼圖像數據使用更多的帶寬。我強烈建議將您的PHP腳本引用爲img src,而不是僅僅將數據轉儲到那裏。 – Brad 2010-09-06 19:14:18

回答

0

雖然Opera 7.2+,Firefox,Safari,Netscape和Mozilla支持數據URI,但Internet Explorer 5-7不支持。然而,據報道,Internet Explorer 8通過了Acid2測試,使得數據URL成爲嵌入較小裝飾圖像的可行替代方案。有些解決方法可以用於舊版Internet Explorer。

如果你想獲得全面的瀏覽器緩存的問題,追加一個隨機生成的數字到IMG SRC的結尾:

<img src="test.jpg?12345" /> 
+0

非常感謝你,你的建議jejeje後很容易:) – 2010-09-06 22:02:04

相關問題