簡體   English   中英

PHP GD將背景變成透明或Alpha

[英]PHP GD turn background into transparent or alpha

在此處輸入圖片說明

我有一個jpeg圖片,我想使用php GD創建2個盒子。

  1. 左框將刪除背景並設置為透明

  2. 右框將設置rgba-alpha 80%;

並將其保存在png透明膠片中

我嘗試了imagesetpixel,但是它不透明,

我也嘗試imagecolortransparent

$transparentcolour = imagecolorallocate($im, 40,220,1);
imagecolortransparent($image, $transparentcolour);

但這會將所有顏色變成透明。

有人知道如何實現這一目標嗎?

直線透明很容易:

  1. 禁用Alpha混合

  2. 用Alpha分配顏色-我個人使用(255,0,255,127)因為在使用游戲精靈時,洋紅色是“標准”透明顏色,所以我有點堅持

  3. 畫矩形

結果將是透明的。

函數參考: imagealphablendingimagecolorallocatealphaimagefilledrectangle


“淡出80%”的事情將更加棘手。

  1. 禁用Alpha混合

  2. 對於矩形中的每個(x,y) ...(即兩個嵌套的for循環)

    1. 獲取該像素的顏色( imagecoloratimagecolorsforindex應該有所幫助)

    2. $color['alpha']乘以0.2 ,得出80%的褪色

    3. 用與源相同的RGB分配新的顏色,但使用新的A

    4. 畫像素

結果將是80%漸變到透明像素的塊。

功能參考: imagealphablendingimagecoloratimagecolorsforindeximagecolorallocatealphaimagesetpixel

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM