php gd 换行 高度,php gd 如何裁圖水平垂直置中?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 18:24   1531   0

有一個畫布大小是 $plat 600x300

我有先將一張圖片丟入這個畫布的右側 300x300

右側

imagecopyresampled($plat, $xxx, 300, 0, 0, 0, 300, 300, 300, 300);

之後要將使用者圖片丟到左側的 300x300

左側

imagecopyresampled($plat, $src, 0, 0, 0, 0, 300, 300, $new_w, $new_h);

兩個合起來就會是一張 600x300的圖

這沒有問題

問題是~如何處理使用者的圖片?

我要取得用戶上傳的圖的水平垂直置中 300x300的位置

然後再丟到 plat 畫布中

$src_w = imagesx($src);

$src_h = imagesy($src);

if( $src_w > $src_h){

$new_w = $src_h;

$new_h = $src_h;

}else{

$new_w = $src_w;

$new_h = $src_w;

}

以上的做法會稍微的水平垂直置中,但還是會有誤差

但是我怎麼找都沒有相關的資源或做法

也有可能是我找錯~

想問問有沒有人有解?

補充

我開了兩個空畫布

bVbb0Jv?w=332&h=42

bVbb0JC?w=591&h=107

抓本身寬跟高

bVbb0JL?w=195&h=40

我發現這樣做後,我的畫布會是空白的

bVbb0Mv?w=503&h=129

我以為我放錯地方

bVbb0NH?w=580&h=78

但圖片會變這樣

bVbb0NG?w=300&h=300

更新

imagecopyresampled($plat300, $src, 0, 0, 0, 0, 300, 300, $src_w, $src_h);

bVbb01I?w=300&h=300

我原始的圖片是

bVbb01X?w=586&h=381

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP