當前位置:首頁 » 動態圖片 » php動態圖片
擴展閱讀
玉泉省招一號多少錢圖片 2025-06-04 10:42:47
手機發的問答圖片在哪裡 2025-06-04 10:41:57

php動態圖片

發布時間: 2022-04-16 11:58:55

⑴ php 如何將GIF動態圖像縮放成指定大小後依舊保持動態

此js代碼來自網路logo的處理,還是很好用的,需要注意的地方就是proMaxHeight,proMaxWidth參數的動態獲取,你可以直接用php賦值,或者用smartyphplib之類的模板,這個不難

<htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="zh-CN"lang="zh-CN">

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>

<title>test</title>

<scriptlanguage=Javascript>

varproMaxHeight=50;

varproMaxWidth=50;

functionproDownImage(ImgD){

varimage=newImage();

image.src=ImgD.src;

if(image.width>0&&image.height>0){

varrate=(proMaxWidth/image.width<proMaxHeight/image.height)?proMaxWidth/image.width:proMaxHeight/image.height;

if(rate<=1){

ImgD.width=image.width*rate;

ImgD.height=image.height*rate;

}

else{

ImgD.width=image.width;

ImgD.height=image.height;

}

}

}

//-->

</script>

</head>

<bodybgcolor="#ffffff"topmargin="0"leftmargin="0"scroll="no">

<imgsrc="./pp.gif"onload=proDownImage(this);/>

</body>

</html>

⑵ PHP動態圖像的創建要如何實現

可以使用圖像創建函數對圖像進行處理,例如把一個較大圖像作成一個小圖像:
假設你有一幅圖像,想從中裁剪出一個35×35大小的圖像。你所需要作的是創建一個35×35大小的空白圖像,創建一個包含原來圖像的圖像流,然後把一個經過調整大小的原來的圖像放到新的空白圖像中。
要完成這一任務的關鍵函數是ImageCopyResized(),它要求的格式如下所示:
ImageCopyResized([new image handle],[original image handle],[new image X], [new Image Y], [original image X], [original image Y], [new image X], [new image Y], [original image X], [original image Y])。
<? /* 發送一個頭部,以便讓瀏覽器知道該文件所包含的內容類型*/
header("Content-type: image/png");
/* 建立保存新圖像高度和寬度的變數*/
$newWidth = 35;
$newHeight = 35;
/* 建立給定高度和寬度的新的空白圖像*/
$newImg = ImageCreate($newWidth,$newHeight);
/* 從原來較大的圖像中得到數據*/
$origImg = ImageCreateFromPNG("test.png");
/*拷貝調整大小後的圖像,使用ImageSX()、ImageSY()得到原來的圖像在X、Y方面上的大小 */
ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));
/*創建希望得到的圖像,釋放內存 */
ImagePNG($newImg);
ImageDestroy($newImg); ?>

⑶ php 如何讓gif動圖轉換為gif靜圖

以下是一個縮略圖生成程序,我加了注釋,動態gif動畫處理後就變成靜態了,程序還可以加水印,當然傳參你留空就不會加了。使用有困難的話給我留言。
-----------------------------
/*構造函數-生成縮略圖+水印,參數說明:$srcFile-圖片文件名,$dstFile-另存文件名,$markwords-水印文字,$markimage-水印圖片,$dstW-圖片保存寬度,$dstH-圖片保存高度,$rate-圖片保存品質*/
function makethumb($srcFile,$dstFile,$dstW,$dstH,$rate=100,$markwords=null,$markimage=null)
{
$data = GetImageSize($srcFile);
switch($data[2])
{
case 1:
$im=@ImageCreateFromGIF($srcFile);
break;
case 2:
$im=@ImageCreateFromJPEG($srcFile);
break;
case 3:
$im=@ImageCreateFromPNG($srcFile);
break;
}
if(!$im) return False;
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$dstX=0;
$dstY=0;
if ($srcW*$dstH>$srcH*$dstW)
{
$fdstH = round($srcH*$dstW/$srcW);
$dstY = floor(($dstH-$fdstH)/2);
$fdstW = $dstW;
}
else
{
$fdstW = round($srcW*$dstH/$srcH);
$dstX = floor(($dstW-$fdstW)/2);
$fdstH = $dstH;
}
$ni=ImageCreateTrueColor($dstW,$dstH);
$dstX=($dstX<0)?0:$dstX;
$dstY=($dstX<0)?0:$dstY;
$dstX=($dstX>($dstW/2))?floor($dstW/2):$dstX;
$dstY=($dstY>($dstH/2))?floor($dstH/s):$dstY;
$white = ImageColorAllocate($ni,255,255,255);
$black = ImageColorAllocate($ni,0,0,0);
imagefilledrectangle($ni,0,0,$dstW,$dstH,$white);// 填充背景色
ImageCopyResized($ni,$im,$dstX,$dstY,0,0,$fdstW,$fdstH,$srcW,$srcH);
if($markwords!=null)
{
$markwords=iconv("gb2312","UTF-8",$markwords);
//轉換文字編碼
ImageTTFText($ni,20,30,450,560,$black,"simhei.ttf",$markwords); //寫入文字水印
//參數依次為,文字大小|偏轉度|橫坐標|縱坐標|文字顏色|文字類型|文字內容
}
elseif($markimage!=null)
{
$wimage_data = GetImageSize($markimage);
switch($wimage_data[2])
{
case 1:
$wimage=@ImageCreateFromGIF($markimage);
break;
case 2:
$wimage=@ImageCreateFromJPEG($markimage);
break;
case 3:
$wimage=@ImageCreateFromPNG($markimage);
break;
}
image($ni,$wimage,500,560,0,0,88,31); //寫入圖片水印,水印圖片大小默認為88*31
imagedestroy($wimage);
}
ImageJpeg($ni,$dstFile,$rate);
ImageJpeg($ni,$srcFile,$rate);
imagedestroy($im);
imagedestroy($ni);
}
?>

⑷ php動態生成圖片

用imageline(x1,y1,x2,y2)函數畫7(因為計算器風格的8字是由7條線段組成的)條直線,坐標分別是每條直線(線段)的端點。

⑸ PHP怎麼對GIF動圖進行壓縮和上傳

單幀 gif 可以轉換成 jpg/png/webp 等其他圖片格式來節約體積。

多幀 gif 可以使用 gifsicle 壓縮,也可以轉換成 apng/webp 來節約體積,國外比較流行的一種做法是把 gif 轉換成 mp4視頻。

用哪種方法取決於你的用戶端,壓縮的效果可以通過 compression ratio/ssim/psnr 等來衡量,尋找一個合適的壓縮參數。

如果用到的庫沒有 PHP binding,那麼在條件允許的情況下可以通過 popen() 和標准流來集成。

⑹ 如何在php中生成gif動畫

這個就需要載入gd2的擴展庫了,在這個庫里可以生成png,jpeg,gif等等動畫用來作為驗證碼和網頁圖片

⑺ PHP動態網頁上的已經加了動態效果的圖片要怎樣才能更改呢

呵呵,目測樓主用的dreamver的設計模式看的,呵呵那個圖片代表一段php代碼。

⑻ PHP如何判斷一個gif圖片是否為動態圖片

代碼如下:
/*
* 判斷圖片是否為動態圖片(動畫)
*/
function isAnimatedGif($filename) {
$fp=fopen($filename,'rb');
$filecontent=fread($fp,filesize($filename));
fclose($fp);
return strpos($filecontent,chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0')===FALSE?0:1;
}
或者這樣做
用PHP判斷一個gif圖片是不是動畫(多幀)

⑼ php如何下載動態圖片保存到本地

php 遠程下載文件

function http($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) && @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);

if(function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(@file_put_contents($file, $temp) && !curl_error($ch)) {
return $file;
} else {
return false;
}
} else {
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@($url, $file, $context)) {
//$http_response_header
return $file;
} else {
return false;
}
}
}

⑽ php怎麼把動態圖添加到網頁背景

動態圖片一般是.gif格式的,這個你只要設置css就行,和php基本無關,要不就是你的問題表達不清楚。
css樣式如下:

body{
background:url(dongtai.gif);

}