當前位置:首頁 » 編程語言 » php圖片並裁切

php圖片並裁切

發布時間: 2023-02-04 22:56:49

A. php有現成的插件可以裁剪圖片成橢圓形嗎

你好,解決方案:

如果是在頁面中顯示的話,css樣式border-radius屬性就能解決,不用真的裁剪圖片:
可參考:www.w3school.com.cn/cssref/pr_border-radius.asp

希望對你有幫助!

B. 為什麼用PHP對上傳圖片進行裁剪的時候,沒成功,而且連上傳的原圖都沒了

加個base64_decode方法試試:
$src = imagecreatefromstring(base64_decode(file_get_contents($src_path)));

C. PHP 長方形圖片 不變形 裁剪 生成 正方形

$x = (200-150)/2;
imageresampled($thumb, $img_r2, 0, 0, $x, 0, $thumb_w, $thumb_h, 150, 150);

請看imageresampled詳細介紹:
imageresampled
(PHP 4 >= 4.0.6, PHP 5)

imageresampled — 重采樣拷貝部分圖像並調整大小

說明
bool imageresampled ( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h )

imageresampled() 將一幅圖像中的一塊正方形區域拷貝到另一個圖像中,平滑地插入像素值,因此,尤其是,減小了圖像的大小而仍然保持了極大的清晰度。如果成功則返回 TRUE,失敗則返回 FALSE。

dst_image 和 src_image 分別是目標圖像和源圖像的標識符。如果源和目標的寬度和高度不同,則會進行相應的圖像收縮和拉伸。坐標指的是左上角。本函數可用來在同一幅圖內部拷貝(如果 dst_image 和 src_image 相同的話)區域,但如果區域交迭的話則結果不可預知。

注意: 因為調色板圖像限制(255+1 種顏色)有個問題。重采樣或過濾圖像通常需要多於 255 種顏色,計算新的被重采樣的像素及其顏色時採用了一種近似值。對調色板圖像嘗試分配一個新顏色時,如果失敗我們選擇了計算結果最接近(理論上)的顏色。這並不總是視覺上最接近的顏色。這可能會產生怪異的結果,例如空白(或者視覺上是空白)的圖像。要跳過這個問題,請使用真彩色圖像作為目標圖像,例如用 imagecreatetruecolor() 創建的。

注意: 本函數需要 GD 2.0.1 或更高版本(推薦 2.0.28 及更高版本)。

D. 親,你的PHP中實現圖片裁剪並上傳的例子還有么。方便給我一份么

你搜一下 PHP 圖片裁剪 ,很多類似的代碼

E. php 裁切圖片問題 求助

用JS吧,直接設置選擇大小,然後選取再截取即可!

F. php求助圖片縮放裁切問題

這段代碼可以通過自已選擇來決定圖片的大小!

效果圖如下所示:希望對你有幫助!

其中

minSize:[48,48],

setSelect:[0,0,190,190],

是調整選取范圍的大小,若你調整為120和160就改為了

setSelect:[0,0,120,160],

就可以了!

<?php
error_reporting(7);
date_default_timezone_set("Asia/Shanghai");
header("Content-type:text/html;Charset=utf-8");
require_once("./image.class.php");

$images=newImages("file");

if($_GET['act']=='cut'){
$image="0000.jpg";
$res=$images->thumb($image,false,1);
if($res==false){
echo"裁剪失敗";
}elseif(is_array($res)){
echo'<imgsrc="'.$res['big'].'"style="margin:10px;">';
echo'<imgsrc="'.$res['small'].'"style="margin:10px;">';
}elseif(is_string($res)){
echo'<imgsrc="'.$res.'">';
}
}elseif(isset($_GET['act'])&&$_GET['act']=="upload"){

$path=$images->move_uploaded();
$images->thumb($path,false,0); //文件比規定的尺寸大則生成縮略圖,小則保持原樣
if($path==false){
$images->get_errMsg();
}else{
echo"上傳成功!<ahref='".$path."'target='_blank'>查看</a>";
}
}else{
?>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd";>
<html>
<head>
<metaname="Author"content="SeekEver">
<metaname="Keywords"content="">
<metaname="Description"content="">
<metacontent="text/html;charset=UTF-8"http-equiv="Content-Type">
<scriptsrc="./js/jquery.min.js"type="text/javascript"></script>
<scriptsrc="./js/jquery.Jcrop.js"type="text/javascript"></script>
<linkrel="stylesheet"href="./css/jquery.Jcrop.css"type="text/css"/>
<scripttype="text/javascript">

jQuery(function($){

//Createvariables(inthisscope)toholdtheAPIandimagesize
varjcrop_api,boundx,boundy;

$('#target').Jcrop({
minSize:[48,48],
setSelect:[0,0,190,190],
onChange:updatePreview,
onSelect:updatePreview,
onSelect:updateCoords,
aspectRatio:1
},
function(){
//
varbounds=this.getBounds();
boundx=bounds[0];
boundy=bounds[1];
//StoretheAPIinthejcrop_apivariable
jcrop_api=this;
});
functionupdateCoords(c)
{
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
};
functioncheckCoords()
{
if(parseInt($('#w').val()))returntrue;
alert('.');
returnfalse;
};
functionupdatePreview(c){
if(parseInt(c.w)>0)
{
varrx=48/c.w; //小頭像預覽Div的大小
varry=48/c.h;

$('#preview').css({
width:Math.round(rx*boundx)+'px',
height:Math.round(ry*boundy)+'px',
marginLeft:'-'+Math.round(rx*c.x)+'px',
marginTop:'-'+Math.round(ry*c.y)+'px'
});
}
{
varrx=199/c.w; //大頭像預覽Div的大小
varry=199/c.h;
$('#preview2').css({
width:Math.round(rx*boundx)+'px',
height:Math.round(ry*boundy)+'px',
marginLeft:'-'+Math.round(rx*c.x)+'px',
marginTop:'-'+Math.round(ry*c.y)+'px'
});
}
};
});

</script>
</head>
<body>
<formmethod="post"action="?act=upload"enctype="multipart/form-data">
<inputtype="file"name="file">
<inputtype="submit"value="上傳">
</form>
<divstyle="float:left;"><imgid="target"src="0000.jpg" ></div>
<divstyle="width:48px;height:48px;margin:10px;overflow:hidden;float:left;"><img style="float:left;"id="preview"src="0000.jpg"></div>
<divstyle="width:190px;height:195px;margin:10px;overflow:hidden;float:left;"><img style="float:left;"id="preview2"src="0000.jpg"></div>
<formaction="index.php?act=cut"method="post"onsubmit="returncheckCoords();">
<inputtype="hidden"id="x"name="x"/>
<inputtype="hidden"id="y"name="y"/>
<inputtype="hidden"id="w"name="w"/>
<inputtype="hidden"id="h"name="h"/>
<inputtype="submit"value="裁剪"/>
</form>
</body>
</html>
<?php
}
?>

G. 如何使用PHP動態把JPEG圖片切割成幾塊

<?php
$maxW=100; //准備將圖片裁減成的小圖的寬

$maxH=100; //准備將圖片裁減成的小圖的高
$link= "D:/Apache24/htdocs/web/test.jpg";//圖片路徑,自己修改
$img = imagecreatefromjpeg($link);
list($width, $height, $type, $attr) = getimagesize($link);
$widthnum=ceil($width/$maxW);
$heightnum=ceil($height/$maxH);
$iOut = imagecreatetruecolor ($maxW,$maxH);
//bool image ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )
//將 src_im 圖像中坐標從 src_x,src_y 開始,寬度為 src_w,高度為 src_h 的一部分拷貝到 dst_im 圖像中坐標為 dst_x 和 dst_y 的位置上。

for ($i=0;$i < $heightnum;$i++) {
for ($j=0;$j < $widthnum;$j++) {
image($iOut,$img,0,0,($j*$maxW),($i*$maxH),$maxW,$maxH);//復制圖片的一部分
imagejpeg($iOut,"D:/Apache24/htdocs/web/img/".$i."_".$j.".jpg"); //輸出成0_0.jpg,0_1.jpg這樣的格式
}
}
?>
已測試,可以使用。

H. 寫了個PHP裁切圖片類,沒了header()這個就出錯,加了後他刷新了頁面我的$error和圖片路徑返回值就沒了= =

header()前不能有任何輸出,包括空格。

I. 怎麼實現php上傳圖片並可以裁剪的功能,類似一些網站的頭像截取,裁剪可以用jcrop插件。高分懸賞

php本身有裁剪圖片的函數,js的截取一般是獲得幾個坐標,供這個函數作為參數,php在圖片上傳到伺服器臨時空間的時候,對圖片進行裁剪,再按編程人的需求保存到指定目錄。

網路下現成的,或者翻翻手冊。

熱點內容
怎麼給自己手機寫一個腳本 發布:2024-11-01 20:23:41 瀏覽:241
c語言大小寫判斷 發布:2024-11-01 20:21:53 瀏覽:130
php的點餐系統源碼 發布:2024-11-01 20:13:53 瀏覽:714
拜占庭演算法 發布:2024-11-01 20:10:31 瀏覽:357
xcode編譯參數 發布:2024-11-01 20:00:04 瀏覽:665
蘋果5怎麼設置密碼鎖屏 發布:2024-11-01 19:54:55 瀏覽:124
寶塔上傳文件夾 發布:2024-11-01 19:39:50 瀏覽:257
java雲編譯器 發布:2024-11-01 19:34:24 瀏覽:385
免費源碼分享網 發布:2024-11-01 19:29:19 瀏覽:855
硬碟8mb緩存 發布:2024-11-01 19:20:02 瀏覽:192