91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .java
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-14
  • 語(yǔ)言: Java
  • 標(biāo)簽:

資源簡(jiǎn)介

因?yàn)閖dk只識(shí)別jpg、png、gif這三種格式的在使用java的時(shí)候會(huì)需要將bmp格式的圖片文件轉(zhuǎn)換成jpg、png、gif等格式,使用此代碼可將bmp格式轉(zhuǎn)換成jpg格式,能否轉(zhuǎn)換成其他格式的文件還沒(méi)有測(cè)試

資源截圖

代碼片段和文件信息



import?java.awt.Image;
import?java.awt.Toolkit;
import?java.awt.image.BufferedImage;
import?java.awt.image.MemoryImageSource;

import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.util.HashMap;
import?java.util.Map;

import?javax.imageio.ImageIO;

import?com.sun.image.codec.jpeg.JPEGCodec;
import?com.sun.image.codec.jpeg.JPEGImageEncoder;
/**
?*?
?*?@author?RJL
?*?date?2013-02
?*?將bmp格式圖片轉(zhuǎn)換成jpg格式
?*/
public?class?BMPReader{

????public?String?Reader(){??
????????Image?image;????????????????????????????????????//構(gòu)造一個(gè)目標(biāo)圖
????????String?result=““;???????????????????????????????//返回結(jié)果
?try{
?????FileInputStream?fs=new?FileInputStream(new?File(“IDRCallDll“).getAbsolutePath().substring(0new?File(“IDRCallDll“).getAbsolutePath().lastIndexOf(“\\“))+“\\photo.bmp“);
?????int?bflen=14;????????????????????????????
?????byte?bf[]=new?byte[bflen];?????????????
?????fs.read(bf0bflen);??????????????????????? //讀取14字節(jié)BMP文件頭
?????int?bilen=40;??????????????????
?????byte?bi[]=new?byte[bilen];
?????fs.read(bi0bilen);?????????????????????? //讀取40字節(jié)BMP信息頭

?????//?獲取一些重要數(shù)據(jù)
?????int?nwidth=(((int)bi[7]&0xff)<<24)????????? //源圖寬度
?????|?(((int)bi[6]&0xff)<<16)
?????|?(((int)bi[5]&0xff)<<8)
?????|?(int)bi[4]&0xff;
?????System.out.println(“寬:“+nwidth);
????????????int?nheight=(((int)bi[11]&0xff)<<24)??????? //源圖高度
?????|?(((int)bi[10]&0xff)<<16)
?????|?(((int)bi[9]&0xff)<<8)
?????|?(int)bi[8]&0xff;
?????System.out.println(“高:“+nheight);
???????????? //位數(shù)
?????int?nbitcount=(((int)bi[15]&0xff)<<8)?|?(int)bi[14]&0xff;
?????System.out.println(“位數(shù):“+nbitcount);
???????????? //源圖大小
?????int?nsizeimage=Integer.parseInt(getImgInfo(new?File(“IDRCallDll“).getAbsolutePath().substring(0new?File(“IDRCallDll“).getAbsolutePath().lastIndexOf(“\\“))+“\\photo.bmp“));
//?????(((int)bi[23]&0xff)<<24)
//?????|?(((int)bi[22]&0xff)<<16)
//?????|?(((int)bi[21]&0xff)<<8)
//?????|?(int)bi[20]&0xff;
?????System.out.println(((int)bi[23]&0xff)<<24);
?????System.out.println(((int)bi[22]&0xff)<<16);
?????System.out.println((int)bi[21]&0xff<<8);
?????System.out.println((int)bi[20]&0xff);
?????System.out.println(“源圖大小:“+nsizeimage);

???????????? //對(duì)24位BMP進(jìn)行解析
?????if(nbitcount==24){
?????????int?npad=(nsizeimage/nheight)-nwidth*3;
?????????int?ndata[]=new?int[nheight*nwidth];
?????????byte?brgb[]=new?byte[(nwidth+npad)*3*nheight];
????????

評(píng)論

共有 條評(píng)論

相關(guān)資源