php圖像等比縮放代碼,php圖像等比縮放代碼大全

本文目錄一覽:

php圖片可以等比例的縮放嗎

可以。

等比例縮放的方法是:

1、載入選區–自由變換。如下圖:

2、按住shift+alt鍵,使用滑鼠調整大小,這種情況下,選區會按照等比例的方法進行縮放的。

php如何實時縮小圖片大小

PHP中縮放圖像:

有兩種改變圖像大小的方法.

(1):ImageCopyResized() 函數在所有GD版本中有效,但其縮放圖像的演算法比較粗糙.

(2):ImageCopyResampled(),其像素插值演算法得到的圖像邊緣比較平滑.質量較好(但該函數的速度比

ImageCopyResized() 慢).

兩個函數的參數是一樣的.如下:

ImageCopyResampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);

ImageCopyResized(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);

   它們兩個都是從原圖像(source)中抓取特定位置(sx,sy)複製圖像qu區域到目標t

圖像(destination)的特定位置(dx,dy)。另外dw,dh指定複製的圖像區域在目標圖像上的大小,sw,sh指定從原圖像複製的圖像區域

的大小。如果有ps經驗的話,就相當於在原圖像選擇一塊區域,剪切移動到目的圖像上,同時有拉伸或縮小的操作。

例一:

(本例子是將圖片按原大小的4/1的大小顯示)

?php

// 指定文件路徑和縮放比例

$filename = ‘test.jpg’;

$percent = 0.5;

// 指定頭文件Content typezhi值

header(‘Content-type: image/jpeg’);

// 獲取圖片的寬高

list($width, $height) = getimagesize($filename);

$newwidth = $width * $percent;

$newheight = $height * $percent;

// 創建一個圖片。接收參數分別為寬高,返回生成的資源句柄

$thumb = imagecreatetruecolor($newwidth, $newheight);

//獲取源文件資源句柄。接收參數為圖片路徑,返回句柄

$source = imagecreatefromjpeg($filename);

// 將源文件剪切全部域並縮小放到目標圖片上。前兩個為資源句柄

imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth,

$newheight, $width, $height);

// 輸出給瀏覽器

imagejpeg($thumb);

?

PHP中縮放圖像的問題

是不是。。就是額外拷貝一份。。。

「縮小圖像「應該只是圖像參數的變化吧。。。「白色的圖片「可能先要連接到你的圖像src,然後根據實時參數進行相同的調整。。。

———————————————————————-

1.”方框中的任意部分,就可以進入”—-可不可以用area/area

2.縮放的圖片可不可以作為一個layer覆蓋在方框上,實現layer的話就比如z-index等於大於0的值

3.當你點擊方框的時候。。callback點擊縮放的圖片。。。。。

——————————————————-

暈。。。真的呀!!!!

我想是3個辦法的。。可能第三個最practice。。。。。

就是你不是有方框嘛。。你的方框的觸發函數–比如onclick轉而去調用你的「縮小圖像「的對應的事件–我覺得正常可能也是onclick。。。 有點callback的味道。。。callback就是我們說的回調。。。

方框說:你敢點我。。我就點「縮小圖像「

是吧。。。你覺得呢。。。。

php等比縮放圖片,就是只按寬度縮小圖片,當圖片寬度大於750時就縮小到750 高度不用管 跟著寬度縮就行了

首先說一下思路,首先你要判斷圖片的寬度,這需要用到一個函數,個人比較喜歡用getimagesize()

其次是等比例綻放,需要用到imagecopyresized(當然還有其他函數)

注意:我這裡用到的是gd庫

實現:

寫一個函數或者類都行,我這裡就以面向過程的方式來寫,你可以整理一下

$file = ‘pic.jpg’; //原圖片文件

$maxWidth = 750;

$info = getimagesize($file); //取得一個圖片信息的數組,索引 0 包含圖像寬度的像素值,索引 1 包含圖像高度的像素值。索引 2 是圖像類型的標記

if($info[0] $maxWidth )

{

exit(‘圖片小於’.$maxWidth.’,不需要縮放’);

}

$im = imagecreatefromjpeg($file); //根據圖片的格式對應的不同的函數,在此不多贅述。

$rate = $maxWidth/$info[0]; //計算綻放比例

$maxHeight = floor($info[1]*$rate); //計算出縮放後的高度

$des_im = imagecreatetruecolor($maxWidth,$maxHeight); //創建一個縮放的畫布

imagecopyresized($des_im,$im,0,0,0,0,$maxWidth,$maxHeight,$info[0],$info[1]); //縮放

imagejpeg($des_im,’thumb.jpg’); //輸出到thumb.jpg即為一個縮放後的文件

PHP等比例壓縮圖片的實例代碼

具體代碼如下所示:

/**

*

desription

壓縮圖片

*

@param

sting

$imgsrc

圖片路徑

*

@param

string

$imgdst

壓縮後保存路徑

*/

public

function

compressedImage($imgsrc,

$imgdst)

{

list($width,

$height,

$type)

=

getimagesize($imgsrc);

$new_width

=

$width;//壓縮後的圖片寬

$new_height

=

$height;//壓縮後的圖片高

if($width

=

600){

$per

=

600

/

$width;//計算比例

$new_width

=

$width

*

$per;

$new_height

=

$height

*

$per;

}

switch

($type)

{

case

1:

$giftype

=

check_gifcartoon($imgsrc);

if

($giftype)

{

header(‘Content-Type:image/gif’);

$image_wp

=

imagecreatetruecolor($new_width,

$new_height);

$image

=

imagecreatefromgif($imgsrc);

imagecopyresampled($image_wp,

$image,

0,

0,

0,

0,

$new_width,

$new_height,

$width,

$height);

//90代表的是質量、壓縮圖片容量大小

imagejpeg($image_wp,

$imgdst,

90);

imagedestroy($image_wp);

imagedestroy($image);

}

break;

case

2:

header(‘Content-Type:image/jpeg’);

$image_wp

=

imagecreatetruecolor($new_width,

$new_height);

$image

=

imagecreatefromjpeg($imgsrc);

imagecopyresampled($image_wp,

$image,

0,

0,

0,

0,

$new_width,

$new_height,

$width,

$height);

//90代表的是質量、壓縮圖片容量大小

imagejpeg($image_wp,

$imgdst,

90);

imagedestroy($image_wp);

imagedestroy($image);

break;

case

3:

header(‘Content-Type:image/png’);

$image_wp

=

imagecreatetruecolor($new_width,

$new_height);

$image

=

imagecreatefrompng($imgsrc);

imagecopyresampled($image_wp,

$image,

0,

0,

0,

0,

$new_width,

$new_height,

$width,

$height);

//90代表的是質量、壓縮圖片容量大小

imagejpeg($image_wp,

$imgdst,

90);

imagedestroy($image_wp);

imagedestroy($image);

break;

}

}

總結

以上所述是小編給大家介紹的PHP等比例壓縮圖片的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:php中10個不同等級壓縮優化圖片操作示例PHP

實現等比壓縮圖片尺寸和大小實例代碼php

gd等比例縮放壓縮圖片函數基於PHP實現等比壓縮圖片大小php上傳圖片並壓縮的實現方法PHP實現圖片上傳並壓縮PHP實現圖片壓縮的兩則實例php使用imagick模塊實現圖片縮放、裁剪、壓縮示例

隨便下載一張圖片,使用PHP將圖片縮放到原來的1/2

//如果是JPG格式,則生成一個同比例的縮小圖

$file=”xxx.jpg”;

$extend_name=strtolower(substr(strrchr($file,”.”),1));

if($extend_name==’jpg’){

$image = imagecreatefromjpeg($full_name);//取原圖的數據

}

//如果是gif格式,則生成一個同比例的縮小圖

if($extend_name==’gif’){

$image = imagecreatefromgif($full_name);//取原圖的數據

}

//如果是png格式,則生成一個同比例的縮小圖

if($extend_name==’png’){

$image = imagecreatefrompng($full_name);//取原圖的數據

}

//echo $full_name.$full_name_small;

$size=GetImageSize($full_name);

$x=$size[0];

$y=$size[1];

//echo $x.” _ “.$y;

//假設首頁上的圖都是250象素左右,如果縮成150則圖像失真太嚴重,則把所有的圖都按這個大小進行等比縮放

//計算縮小比例

$rate=1/2;

$small_x=$size[0]*$rate;

$small_y=$size[1]*$rate;

$small_image = imagecreatetruecolor($small_x, $small_y);

imageCopyResampled($small_image,$image,0,0,0,0,$small_x,$small_y,$x,$y);

if(imagejpeg($small_image,$full_name_small)){

ImageDestroy($small_image);

}else{

}

原創文章,作者:IDZP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144884.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IDZP的頭像IDZP
上一篇 2024-10-26 11:53
下一篇 2024-10-26 11:53

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 如何實現圖像粘貼到蒙版

    本文將從多個方面介紹圖像粘貼到蒙版的實現方法。 一、創建蒙版 首先,在HTML中創建一個蒙版元素,用於接收要粘貼的圖片。 <div id=”mask” style=”widt…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29

發表回復

登錄後才能評論