2016-05-13 27 views
0

我有一個HTML表單提交圖像的base64字符串到PHP。 php腳本base64解碼字符串,使用imagecreatefromstring()獲取圖像資源,然後將資源保存到png文件。當我打開保存的文件時,我發現文件與我上傳的圖像不一樣。無論圖像中有文字,該部分都顯示爲填充了彩色的矩形。附加上傳的圖像版本並保存圖像。我安裝了最新版本的PHP(v7)和最新版本的php-gd庫,運行在ubuntu 16.04 LTS上。我無法弄清楚這個問題。請幫忙。PHP圖像處理腐敗文本內的圖像

像我試圖上傳這是救了PHP

image which was saved by php

+0

看起來像透明度(alpha通道)會被誤解...... – jtheman

+0

如果您沒有以任何方式操縱圖像,爲什麼要創建一個GD資源?只需使用'base64_decode()'然後'file_put_contents()'。這樣數據根本不會被修改。 – timclutton

+0

我將圖像從任何圖像類型轉換爲.png – Rajesh

回答

0

我想出的解決方案

image i am trying to upload

圖像。在致電imagepng()將圖像資源保存到文件之前,我必須調用2個函數:imageAlphaBlending()imageSaveAlpha()以保留圖像的透明度。我以前的代碼曾經使用php 5.5,但可能會在php 7中更改。