先用php把數(shù)據(jù)庫中的圖片路徑讀取出來,然后把這個(gè)路徑嵌入到img元素的src中,就相當(dāng)于把圖片的路徑轉(zhuǎn)化為圖片了。

創(chuàng)新互聯(lián)公司是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷、企業(yè)網(wǎng)站建設(shè),買鏈接,一元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。
使用PHP對(duì)圖片進(jìn)行base64解碼輸出
?php
$img = 'test.jpg';
$base64_img = base64EncodeImage($img);
echo 'img src="' . $base64_img . '" /';
function base64EncodeImage ($image_file) {
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
return $base64_image;
}
?
按照你的要求編寫的Java程序如下:( 要注意的地方見語句后面的注釋)
import?java.awt.image.BufferedImage;import?java.awt.image.RenderedImage;import?java.io.File;import?java.io.IOException;import?javax.imageio.ImageIO;public?class?ImageWithArray?{?public?static?void?main(String[]?args)?{??//?讀取圖片到BufferedImage??BufferedImage?bf?=?readImage("c:\\tmp\\6\\female.png");//這里寫你要讀取的絕對(duì)路徑+文件名??//?將圖片轉(zhuǎn)換為二維數(shù)組??int[][]?rgbArray1?=?convertImageToArray(bf);??//?輸出圖片到指定文件??writeImageFromArray("c:\\tmp\\2.png",?"png",?rgbArray1);//這里寫你要輸出的絕對(duì)路徑+文件名??System.out.println("圖片輸出完畢!");?}?public?static?BufferedImage?readImage(String?imageFile){??File?file?=?new?File(imageFile);??BufferedImage?bf?=?null;??try?{???bf?=?ImageIO.read(file);??}?catch?(IOException?e)?{???e.printStackTrace();??}??return?bf;?}?public?static?int[][]?convertImageToArray(BufferedImage?bf)?{??//?獲取圖片寬度和高度??int?width?=?bf.getWidth();??int?height?=?bf.getHeight();??//?將圖片sRGB數(shù)據(jù)寫入一維數(shù)組??int[]?data?=?new?int[width*height];??bf.getRGB(0,?0,?width,?height,?data,?0,?width);??//?將一維數(shù)組轉(zhuǎn)換為為二維數(shù)組??int[][]?rgbArray?=?new?int[height][width];??for(int?i?=?0;?i??height;?i++)???for(int?j?=?0;?j??width;?j++)????rgbArray[i][j]?=?data[i*width?+?j];??return?rgbArray;?}?public?static?void?writeImageFromArray(String?imageFile,?String?type,?int[][]?rgbArray){??//?獲取數(shù)組寬度和高度??int?width?=?rgbArray[0].length;??int?height?=?rgbArray.length;??//?將二維數(shù)組轉(zhuǎn)換為一維數(shù)組??int[]?data?=?new?int[width*height];??for(int?i?=?0;?i??height;?i++)???for(int?j?=?0;?j??width;?j++)????data[i*width?+?j]?=?rgbArray[i][j];??//?將數(shù)據(jù)寫入BufferedImage??BufferedImage?bf?=?new?BufferedImage(width,?height,?BufferedImage.TYPE_INT_BGR);??bf.setRGB(0,?0,?width,?height,?data,?0,?width);??//?輸出圖片??try?{???File?file=?new?File(imageFile);???ImageIO.write((RenderedImage)bf,?type,?file);??}?catch?(IOException?e)?{???e.printStackTrace();??}?}}
運(yùn)行結(jié)果:
圖片輸出完畢!
原圖:
輸出圖:
imagegif(resource $image [, string $filename ]) 從 image 圖像以 filename 為文件名創(chuàng)建一個(gè) GIF 圖像。image 參數(shù)是 imagecreate() 或 imagecreatefrom* 函數(shù)的返回值。
imagejpeg(resource $image [, string $filename ]) 從 image 圖像以 filename 為文件名創(chuàng)建一個(gè) JPEG 圖像。
imagepng(resource $image [, string $filename ]) 將 GD 圖像流(image)以 PNG 格式輸出到標(biāo)準(zhǔn)輸出(通常為瀏覽器),或者如果用 filename 給出了文件名則將其輸出到該文件。
filename 文件保存的路徑,如果未設(shè)置或?yàn)?NULL,將會(huì)直接輸出原始圖象流。
這幾個(gè)函數(shù)你參考一下,希望對(duì)你有幫助。
在php中,有文件上傳,那么php服務(wù)器端可以接收到請求參數(shù) $_FILES,在 $_FILES數(shù)組中讀取到上傳文件的form表單名,然后在讀取的數(shù)組中可以獲取上傳文件的源文件,使用 fopen()函數(shù)就可以獲取文件的字節(jié)流了。
具體來點(diǎn)代碼看看吧:(假定上傳文件的表單名為 “formname”)
if($_FILES isset($_FILES["formname"])){
//獲取上傳的文件的屬性數(shù)組
$_fileinfo = $_FILES["formname"];
//獲取上傳文件的原文件名
$_filename = $_fileinfo["name"];
//獲取上傳文件的大小
$_filesize = $_fileinfo["size"];
//獲取上傳文件的臨時(shí)文件名(長文件名)
$_filesource = $_fileinfo["tmp_name"];
//以讀寫方式打開文件,并將資源綁定到一個(gè)流上
$_filestream = fopen($_filesource,"ab");
//實(shí)現(xiàn)上傳文件,其實(shí)質(zhì)是把臨時(shí)文件移動(dòng)到制定的保存文件的位置
$_newfilename = "../mypath/filename.exp"; //自定義文件名,包含路徑,可以是相對(duì)路徑
move_uploaded_file($_filesource, $_newfilename);
}
文章題目:圖片轉(zhuǎn)化數(shù)據(jù)流php,圖片數(shù)據(jù)轉(zhuǎn)換
文章出自:http://chinadenli.net/article12/hshpgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、面包屑導(dǎo)航、網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)