[英]PHP GD turn background into transparent or alpha
我有一個jpeg圖片,我想使用php GD創建2個盒子。
左框將刪除背景並設置為透明
右框將設置rgba-alpha 80%;
並將其保存在png透明膠片中
我嘗試了imagesetpixel,但是它不透明,
我也嘗試imagecolortransparent
$transparentcolour = imagecolorallocate($im, 40,220,1);
imagecolortransparent($image, $transparentcolour);
但這會將所有顏色變成透明。
有人知道如何實現這一目標嗎?
直線透明很容易:
禁用Alpha混合
用Alpha分配顏色-我個人使用(255,0,255,127)
因為在使用游戲精靈時,洋紅色是“標准”透明顏色,所以我有點堅持
畫矩形
結果將是透明的。
函數參考: imagealphablending
, imagecolorallocatealpha
, imagefilledrectangle
“淡出80%”的事情將更加棘手。
禁用Alpha混合
對於矩形中的每個(x,y)
...(即兩個嵌套的for
循環)
獲取該像素的顏色( imagecolorat
和imagecolorsforindex
應該有所幫助)
將$color['alpha']
乘以0.2
,得出80%的褪色
用與源相同的RGB
分配新的顏色,但使用新的A
值
畫像素
結果將是80%漸變到透明像素的塊。
功能參考: imagealphablending
, imagecolorat
, imagecolorsforindex
, imagecolorallocatealpha
, imagesetpixel
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.