欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

圖片存儲(chǔ)的java代碼 java 圖片存儲(chǔ)

從文件中讀取圖片和寫入圖片到文件里的java代碼是什么?

首先導(dǎo)入各種需要的包:

創(chuàng)新互聯(lián)建站專注于遵義網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供遵義營銷型網(wǎng)站建設(shè),遵義網(wǎng)站制作、遵義網(wǎng)頁設(shè)計(jì)、遵義網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造遵義網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供遵義網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

import java.awt.Image;

import javax.imageio.ImageIO;

import java.io.*;

讀取圖片的方法如下:

Image[] array = new Image[10];

Image image = ImageIO.read(new File("d:\\source.gif"));//根據(jù)你實(shí)際情況改文件路徑吧

array[0] = image;

圖片讀出來了。

如果你有一個(gè)Image對(duì)象,想把它寫入文件可以這樣做:

BufferedImage image = ImageIO.read(new File("d:\\source.gif"));

//要想保存這個(gè)對(duì)象的話你要把image聲明為BufferedImage 類型

ImageIO.write(image, "png", new File("f:\\test.png"));

java讀取RTF文件里的所有圖片,并將所有圖片保存成圖片文件 求代碼

public int nextInt(int n) {

if (n = 0)

throw new IllegalArgumentException("n must be positive");

if ((n -n) == n) // i.e., n is a power of 2

return (int)((n * (long)next(31)) 31);

int bits, val;

do {

bits = next(31);

val = bits % n;

} while (bits - val + (n-1) 0);

return val;

}

Java 技巧:用 Java 保存位圖文件

如果您在 Microsoft Windows 環(huán)境中工作 那么創(chuàng)建位圖文件的功能將為您提供許多方便 例如 在我的上一個(gè)項(xiàng)目中 我必須將 Java 與 Microsoft Access 對(duì)接 Java 程序允許用戶在屏幕上繪圖 這幅圖隨后被打印到 Microsoft Access 報(bào)表中 由于 Java 不支持 OLE 我的唯一選擇就是創(chuàng)建該圖的一個(gè)位圖文件 并通知 Microsoft Access 報(bào)表在何處能找到這個(gè)位圖文件 如果您寫過向剪貼板發(fā)送圖像的應(yīng)用程序 則這個(gè)技巧可能對(duì)您有用 尤其是當(dāng)您將這個(gè)信息傳遞給另一個(gè)應(yīng)用程序時(shí) 位圖文件的格式 位圖文件格式支持 位 RLE(行程長(zhǎng)度編碼)以及 位和 位編碼 因?yàn)槲覀冎惶幚?位格式 所以下面我們查看一下該文件的結(jié)構(gòu) 位圖文件分為三個(gè)部分 我已將它們列在下面 第 部分 位圖文件的標(biāo)頭 標(biāo)頭包含位圖文件的類型大小信息和版面信息 結(jié)構(gòu)如下(摘自 C 語言結(jié)構(gòu)定義) typedef struct tagBITMAPFILEHEADER {牋燯INT bfType;牋燚WORD bfSize;牋燯INT bfReserved ;牋燯INT bfReserved ;牋燚WORD bfOffBits;}BITMAPFILEHEADER;下面是對(duì)這個(gè)清單中的代碼元素的說明 bfType 指定文件類型 其值始終為 BM bfSize 指定整個(gè)文件的大?。ㄒ宰止?jié)為單位) bfReserved 保留 必須為 bfReserved 保留 必須為 bfOffBits 指定從 BitmapFileHeader 到圖像首部的字節(jié)偏移量 現(xiàn)在您已經(jīng)明白位圖標(biāo)頭的用途就是標(biāo)識(shí)位圖文件 讀取位圖文件的每個(gè)程序都使用位圖標(biāo)頭來進(jìn)行文件驗(yàn)證 第 部分 位圖信息標(biāo)頭 隨后的標(biāo)頭稱為信息標(biāo)頭 其中包含圖像本身的屬性 下面說明如何指定 Windows (或更高版本)設(shè)備獨(dú)立位圖 (DIB) 的大小和顏色格式: typedef struct tagBITMAPINFOHEADER {牋牋DWORD biSize;牋牋LONG biWidth;牋牋LONG biHeight;牋牋WORD biPlanes;牋牋WORD biBitCount;牋牋DWORD biCompression;牋牋DWORD biSizeImage;牋牋LONG biXPelsPerMeter;牋牋LONG biYPelsPerMeter;牋牋DWORD biClrUsed;牋牋DWORD biClrImportant;} BITMAPINFOHEADER;以上代碼清單的每個(gè)元素說明如下 biSize 指定 BITMAPINFOHEADER 結(jié)構(gòu)所需的字節(jié)數(shù) biWidth 指定位圖的寬度(以象素為單位) biHeight 指定位圖的高度(以象素為單位) biPlanes 指定目標(biāo)設(shè)備的位面數(shù) 這個(gè)成員變量的值必須為 biBitCount 指定每個(gè)象素的位數(shù) 其值必須為 或 biCompression 指定壓縮位圖的壓縮類型 在 位格式中 該變量被設(shè)置為 biSizeImage 指定圖像的大?。ㄒ宰止?jié)為單位) 如果位圖的格式是 BI_RGB 則將此成員變量設(shè)置為 是有效的 biXPelsPerMeter 為位圖指定目標(biāo)設(shè)備的水平分辨率(以 象素/米 為單位) 應(yīng)用程序可用該值從最符合當(dāng)前設(shè)備特征的資源群組中選擇一個(gè)位圖 biYPelsPerMeter 為位圖指定目標(biāo)設(shè)備的垂直分辨率(以 象素/米 為單位) biClrUsed 指定位圖實(shí)際所用的顏色表中的顏色索引數(shù) 如果 biBitCount 設(shè)為 則 biClrUsed 指定用來優(yōu)化 Windows 調(diào)色板性能的參考顏色表 biClrImportant 指定對(duì)位圖的顯示有重要影響的顏色索引數(shù) 如果此值為 則所有顏色都很重要 現(xiàn)在已定義了創(chuàng)建圖像所需的全部信息 第 部分 圖像 在 位格式中 圖像中的每個(gè)象素都由存儲(chǔ)為 BRG 的三字節(jié) RGB 序列表示 每個(gè)掃描行都被補(bǔ)足到 位 為了使這個(gè)過程稍復(fù)雜一點(diǎn) 圖像是自底而上存儲(chǔ)的 即第一個(gè)掃描行是圖像中的最后一個(gè)掃描行 下圖顯示了標(biāo)頭 (BITMAPHEADER) 和 (BITMAPINFOHEADER) 以及部分圖像 各個(gè)部分由垂線分隔 D B | E B EC EC | FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF*現(xiàn)在 我們開始檢視代碼 現(xiàn)在我們已經(jīng)知道了 位位圖文件的結(jié)構(gòu) 下面就是您期待已久的內(nèi)容 用來將圖像對(duì)象寫入位圖文件的代碼 import java awt *;import java io *;import java awt image *;public class BMPFile extends Component {牋// 私有常量牋private final static int BITMAPFILEHEADER_SIZE = ;牋private final static int BITMAPINFOHEADER_SIZE = ;牋// 私有變量聲明牋// 位圖文件標(biāo)頭牋private byte bitmapFileHeader [] = new byte [ ];牋private byte bfType [] = { B M };牋private int bfSize = ;牋private int bfReserved = ;牋private int bfReserved = ;牋private int bfOffBits = BITMAPFILEHEADER_SIZE + BITMAPINFOHEADER_SIZE;牋// 位圖信息標(biāo)頭牋private byte bitmapInfoHeader [] = new byte [ ];牋private int biSize = BITMAPINFOHEADER_SIZE;牋private int biWidth = ;牋private int biHeight = ;牋private int biPlanes = ;牋private int biBitCount = ;牋private int biCompression = ;牋private int biSizeImage = x ;牋private int biXPelsPerMeter = x ;牋private int biYPelsPerMeter = x ;牋private int biClrUsed = ;牋private int biClrImportant = ;牋// 位圖原始數(shù)據(jù)牋private int bitmap [];牋// 文件部分牋private FileOutputStream fo;牋// 缺省構(gòu)造函數(shù)牋public BMPFile() {牋}牋public void saveBitmap (String parFilename Image parImage intparWidth int parHeight) {牋牋爐ry {牋牋牋牋fo = new FileOutputStream (parFilename);牋牋牋牋save (parImage parWidth parHeight);牋牋牋牋fo close (); 牋牋爙牋牋燾atch (Exception saveEx) {牋牋牋牋saveEx printStackTrace ();牋牋爙牋}牋/*牋? saveMethod 是該進(jìn)程的主方法 該方法牋? 將調(diào)用 convertImage 方法以將內(nèi)存圖像轉(zhuǎn)換為牋? 字節(jié)數(shù)組 writeBitmapFileHeader 方法創(chuàng)建并寫入牋? 位圖文件標(biāo)頭 writeBitmapInfoHeader 創(chuàng)建 牋? 信息標(biāo)頭 writeBitmap 寫入圖像 牋?牋?/牋private void save (Image parImage int parWidth int parHeight) {牋牋爐ry {牋牋牋牋convertImage (parImage parWidth parHeight);牋牋牋牋writeBitmapFileHeader ();牋牋牋牋writeBitmapInfoHeader ();牋牋牋牋writeBitmap ();牋牋爙牋牋燾atch (Exception saveEx) {牋牋牋牋saveEx printStackTrace ();牋牋爙牋}牋/*牋? convertImage 將內(nèi)存圖像轉(zhuǎn)換為位圖格式 (BRG) 牋? 它還計(jì)算位圖信息標(biāo)頭所用的某些信息 牋?牋?/牋private boolean convertImage (Image parImage int parWidth int parHeight) {牋牋爄nt pad;牋牋燽itmap = new int [parWidth * parHeight];牋牋燩ixelGrabber pg = new PixelGrabber (parImage parWidth parHeight 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋燽itmap parWidth);牋牋爐ry {牋牋牋牋pg grabPixels ();牋牋爙牋牋燾atch (InterruptedException e) {牋牋牋牋e printStackTrace ();牋牋牋牋return (false);牋牋爙牋牋爌ad = ( ((parWidth * ) % )) * parHeight;牋牋燽iSizeImage = ((parWidth * parHeight) * ) + pad;牋牋燽fSize = biSizeImage + BITMAPFILEHEADER_SIZE +BITMAPINFOHEADER_SIZE;牋牋燽iWidth = parWidth;牋牋燽iHeight = parHeight;牋牋爎eturn (true);牋}牋/*牋? writeBitmap 將象素捕獲器返回的圖像轉(zhuǎn)換為牋? 所需的格式 請(qǐng)記住 掃描行在位圖文件中是牋? 反向存儲(chǔ)的!牋?牋? 每個(gè)掃描行必須補(bǔ)足為 個(gè)字節(jié) 牋?/牋private void writeBitmap () {牋牋牋int size;牋牋牋int value;牋牋牋int j;牋牋牋int i;牋牋牋int rowCount;牋牋牋int rowIndex;牋牋牋int lastRowIndex; lishixinzhi/Article/program/Java/JSP/201311/19219

java 中怎么存儲(chǔ)圖的

java將byte數(shù)組轉(zhuǎn)換成圖片,可以File和IO操作來完成,實(shí)例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

//byte數(shù)組到圖片到硬盤上

public void byte2image(byte[] data,String path){

if(data.length3||path.equals("")) return;//判斷輸入的byte是否為空

try{

FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));//打開輸入流

imageOutput.write(data, 0, data.length);//將byte寫入硬盤

imageOutput.close();

System.out.println("Make Picture success,Please find image in " + path);

} catch(Exception ex) {

System.out.println("Exception: " + ex);

ex.printStackTrace();

}

}

本文題目:圖片存儲(chǔ)的java代碼 java 圖片存儲(chǔ)
標(biāo)題鏈接:http://chinadenli.net/article42/dogsgec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、全網(wǎng)營銷推廣、商城網(wǎng)站營銷型網(wǎng)站建設(shè)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化