1. 程式人生 > >php 處理透明背景的圖片時的問題

php 處理透明背景的圖片時的問題

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

1,直接讀取有透明背景的PNG格式檔案,然後直接輸出,背景變成了黑色,gif則沒有這種情況。
  解決方法:使用 imagesavealpha ($image, true),此函式是針對png格式的.

1 <?php
2 $im=imagecreatefrompng("demo_1.png");
3 imagesavealpha($im, true);//設定標記以在儲存 PNG 影象時儲存完整的 alpha 通道資訊。
4 header('Content-type: image/png');
5 imagepng($im);
6 imagedestroy($im);
7 ?>


  注意一點:不是所有的瀏覽器都支援 alpha 通道,如果在你的瀏覽器上碰到問題,試著用相容 alpha 通道的瀏覽器(例如最新版的 Mozilla)重新載入指令碼。
  經測試,在IE中顯示效果不理想(但圖片仍然是透明的,儲存下來看下就知道),背景變成了灰色.

2,在處理(比如縮小,剪下)有透明背景的gif和png圖片然後輸出時,圖片透明部分變成了黑色。
示例程式碼如下:

01 <?php
02 $size = 300;
03 $image=imagecreatetruecolor($size$size);//建立圖片
04 $back =imagecolorallocatealpha($image, 255, 255, 255,127);//加透明顏色,其實好象沒什麼效果。-_-!
05

相關推薦

php 處理透明背景圖片的問題

PHP圖象處理之透明背景的gif和png圖片的一些問題 1,直接讀取有透明背景的PNG格式檔案,然後直接輸出,背景變成了黑色,gif則沒有這種情況。   解決方法:使用 imagesavealpha ($image, true),此函式是針對png格式的.

安卓新增背景圖片解決圖片拉伸問題

問題描述: 當我們在android layout佈局檔案設定背景圖片只需要加上 android:background="@drawable/ic_bg"  就可以了設定ic_bg為背景的圖片了 然而這樣設定後當圖片較小時會發現 圖片被拉伸了,失真。     解決方法

Android部分機型(vivo、樂視、部分紅米)對GIF透明背景圖片顯示白色問題分析

一、表現情況 APP使用了PHP合成的的GIF透明標誌,部分機型顯示白色背景塊,但大部分主流手機未出現該問題,已知表現為vivo、樂視、部分紅米手機。 二、原因查詢 圖片分享上傳標準的透明PNG圖示進行測試,發現已知表現為vivo、樂視、部分紅米手機本次顯示正常; 表現為

設定透明背景圖片

背景:             有兩個圖片,一個是目標背景圖片, 一個是帶有自身背景色彩的彩色圖片             先將這彩色圖片繪製到目標背景圖片中, 這一步通過BITBLT就可實現。   但實現後的效果是: 目標圖片上,繪製上去的彩色圖片帶有其本身的背景。  

php curl上傳圖片Content-Type錯誤問題

Redhat 6 + Nginx +PHP環境,用PHP CURL上傳圖片到開心網,圖片的MIME型別錯誤,如下: ------------------------------bcf414c27670 Content-Disposition: form-data; name=

php 影象處理 摳圖,生成背景透明png 圖片

*自定義一個圖片等比縮放函式 *@param string $picname 被縮放圖片名 *@param string $path 被縮放圖片路徑 *@param int $maxWidth 圖片被縮放後的最大寬度 *@param int $maxHeight 圖片被縮放後的最大高度 *@par

php 壓縮各格式圖片,處理png格式圖片背景黑色問題

    //壓縮圖片 //$srcFile 檔名 //$percent壓縮比 //$quality圖片質量     function pictumb($srcFile,$percent,$quality){         $dstFile = $srcFile;//保留名

Android中處理圖片圖片壓縮

oca 內存空間 pan std ret bitmap sans source tar 1、BitmapFactory.Options中的屬性 在進行圖片壓縮時,是通過設置BitmapFactory.Options的一些值來改變圖片的屬性的,以下我們來看看BitmapF

extjs中新建窗體,給窗體添加背景圖片不顯示問題之一

解決辦法 log 管理 背景 原因 fit ack 去掉 客戶 1、在extjs中新建窗體時,給窗體添加背景圖片不顯示,例如下面的代碼。 不顯示的原因:因為設置了 layout: ‘fit‘, Ext.create(‘Ext.Window‘, {

<小田吃餃子> PHP:GD庫 圖片水印處理

upload 文字水印 merge 設置 light col res highlight 瀏覽器 <?php /** * 處理圖片類 * 1.添加文字水印 * 2.添加圖片水印 * 3.壓縮圖片 */ class TL_Image{ private $i

用JS去設置HTML頁面鼠標懸浮改變背景圖片

如果 bubuko 而不是 目標 更改 targe src 驅動 select 首先將每一個li上面添加一個移入事件onmouseover;在懸浮事件裏面設置event事件源 JS樣式裏首先應該找到頁面裏的ul 然後在ul裏面的所有li     var ln =

php GD 圓圖 -處理成圓圖片

case urn nbsp @param string share extension 如果 images 1 <?php 2 /** 3 * 處理成圓圖片,如果圖片不是正方形就取最小邊的圓半徑,從左邊開始剪切成圓形 4 * @param strin

php 處理vue上傳圖片 base64_encode file_put_contents file_get_contents

vue:上傳圖片實際上是獲取圖片二進位制流,並通過base64加密,前頭會加上data:image/png;base64,帶有然後傳給後臺      類似:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAFYCAY

webpack6--css 背景圖片處理

當css裡面含有背景圖片,用webpack打包時會報如下錯:   如何處理這個問題呢? 我們需要藉助於 file-loader 和  url-loader 這2個包。   下面具體說一下步驟: 1.安裝 file-

php生成有二維碼的背景圖片

這幾天在做的健身房後臺的時候有一個將二維碼,還有名稱 放置背景圖上,並且要居中顯示,最後生成健身房圖片de功能,查找了各種資料,最後完成了屬於享健身平臺的每一個健身房的一個帶有二維碼的圖片,並且將圖片連結存入資料庫中。 大概思路是這樣的:獲取二維碼圖片,獲取背景圖片,將二維碼圖片放置在背景圖片上,然

經過圖片新增透明邊框

效果圖 html部分程式碼: <div> <img src="img/pic.jpg"/> </div> css部分程式碼: div{ height: 150

CSS實現背景圖片透明而文字不透明效果的方法

1.毛玻璃效果: 背景圖 + 偽類 + flite:blur(3px) .demo1{ width: 500px; height: 300px; line-height: 50px; text-align: center; } .demo1:befor

74 - three.js 筆記 - 通過透明渲染設定背景圖片

1、示例 示例 http://ithanmang.com/threeJs/home/201809/20180910/01-canvas-background-image.html 效果 2、實現步驟 2.1、背景圖 2.2、設定背景 此處是給body元素設定了背景

使用Thumbnailator處理gif圖片遇到java.lang.ArrayIndexOutOfBoundsException: 4096異常處理

環境 1.7.0_80 在使用Thumbnailator處理gif圖片時,遇到問題: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4096 at com.sun.imageio.plugins.gif.

有效解決ajax傳中文,亂碼的情況,php處理接收到的值

在抽獎環節時,需把獲獎名單通過ajax的post方式傳輸給php後臺進行儲存,但是php接收到的值確是亂碼。在百度之後並沒有找到合適的解決方法。       則使用js的encodeURI函式可以有效解決,但不知為何需使用兩次。 此時傳輸的值獲取到的為: