日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 图片扣背景透明,php 处理透明背景的图片时的问题

發布時間:2023/12/31 php 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 图片扣背景透明,php 处理透明背景的图片时的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP圖象處理之透明背景的gif和png圖片的一些問題

1,直接讀取有透明背景的PNG格式文件,然后直接輸出,背景變成了黑色,gif則沒有這種情況。

解決方法:使用

imagesavealpha ($image,

true),此函數是針對png格式的.

$im=imagecreatefrompng("demo_1.png");

imagesavealpha($im,

true);//設置標記以在保存 PNG 圖像時保存完整的 alpha

通道信息。

header(‘Content-type:

image/png‘);

imagepng($im);

imagedestroy($im);

?>

注意一點:不是所有的瀏覽器都支持

alpha 通道,如果在你的瀏覽器上碰到問題,試著用兼容 alpha 通道的瀏覽器(例如最新版的

Mozilla)重新加載腳本。

經測試,在IE中顯示效果不理想(但圖片仍然是透明的,保存下來看下就知道),背景變成了灰色.

2,在處理(比如縮小,剪切)有透明背景的gif和png圖片然后輸出時,圖片透明部分變成了黑色。

示例代碼如下:

$size

= 300;

$image=imagecreatetruecolor($size,

$size);//創建圖片

$back =imagecolorallocatealpha($image, 255, 255,

255,127);//加透明顏色,其實好象沒什么效果。-_-!

//讀取圖片

$im=imagecreatefrompng("demo_1.png");

imagecopyresampled($image,$im,10,20,0,0,128,128,128,128);//合拼圖片

header(‘Content-type:

image/png‘);

imagepng($image);

imagedestroy($image);

?>

效果是圖片背景變成了黑色。

解決辦法:使用imagecreate()而不是用imagecreatetruecolor()創建圖片。

因為imagecreatetruecolor()返回一個圖像標識符,代表了一幅大小為

x_size 和 y_size 的黑色圖像,

看下幫助手冊就知道了。

但這種方法仍然有bug,用于png時,png有部分顏色失去,變成了透明。

解決辦法:未知,有知道的告訴我一聲,在下先謝謝了。

3.php生產透明背景圖片

$wite =

ImageColorAllocate($ni,255,255,255);//填充的背景色你可以重新指定,我用的是白色

imagefilledrectangle($ni,

0, 0, $dstW, $dstH, $wite);

ImageColorTransparent($ni, $wite);

不過現在的方法還不是太理想。繼續整理中~~~~

原文:http://www.cnblogs.com/wayne173/p/3741869.html

總結

以上是生活随笔為你收集整理的php 图片扣背景透明,php 处理透明背景的图片时的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。