读取bmp文件到BufferedImage中

File file2 = new File("c:\\testimages\\tttt" + ".bmp");
// BufferedImage bi
= backstore.getBufferedImage();
try {
    output = ImageIO.read(file2);
} catch
(IOException e) {
    e.printStackTrace();
}

输出bmp文件

File file2 = new File("c:\\testimages\\tttt" + 
".bmp");
ImageIO.write(bi, "bmp", file2);
Byte[]输出到文件

   byte[] buf =UtilZip.zipObjectToByte(cache);
   File file2 = new File("c:\\testimages\\cache.bin");
   FileOutputStream fos =new FileOutputStream(file2);
   fos.write(buf);
   fos.flush();
   fos.close();

读文件到Byte[]中

File file2 = new File("c:\\testimages\\cache.bin");
    FileInputStream fis = new FileInputStream(file2);
    byte[]
buf =
new byte[(int) file2.length()];
    fis.read(buf);
    fis.close();
填充颜色到整个画布

    BufferedImage bi = backstore.getBufferedImage();
Graphics g2 = bi.getGraphics();
g2.setColor(Color.red);
g2.fillRect(0, 0, Common.width,
                 
Common.height);

图像变灰操作

    public finalBufferedImage getGrayPicture(BufferedImage originalPic) { 

       
int imageWidth =
originalPic.getWidth(); 
       
int imageHeight =
originalPic.getHeight(); 
 
       
BufferedImage newPic
= new BufferedImage(imageWidth, imageHeight, 
               
BufferedImage.TYPE_3BYTE_BGR); 
 
       
ColorConvertOp cco = new
ColorConvertOp(ColorSpace 
               
.getInstance(ColorSpace.CS_GRAY),
null); 
       
cco.filter(originalPic,
newPic); 
       
return newPic; 
    }

ImageIO
javax.imageio.ImageIO lets you save and
restore Images to disk in a platform independent format. It works using plug-in
modules that handle various formats including "gif", "png" and "jpeg" (all lower
case, or all upper case, but not mixed). "jpeg" or "jpg" is acceptable. Use
ImageIO. getWriterFormatNames() to find out which types are supported on your
platform:

import javax.imageio.ImageIO;

public class
Jai
   {
  
   public static void main ( String[]
args )
     
{
     
String[] names = ImageIO.getWriterFormatNames();
      for ( String
name: names )
       
 {
        
System.out.println( name );
        
}
     
}
  }

Saving an Image to raw bytes
// BufferedImage to raw bytes
import
javax.imageio.ImageIO;
import
java.awt.image.BufferedImage;
import
java.io.ByteArrayOutputStream;
...

//
O P E N
ByteArrayOutputStream baos
= new ByteArrayOutputStream(
1000 );

// W R
I T
E
ImageIO.write(
aBufferedImage, "jpeg"
,
          
baos );

// C L O S
E
baos.flush();
byte[]
resultImageAsRawBytes =
baos.toByteArray();

baos.close();

Loading
a BufferedImage from a file
// file to
BufferedImage
import
java.awt.image.
BufferedImage;
import
java.io.File;
import
javax.imageio.ImageIO;
...
BufferedImage
image =
ImageIO.read(
new File( "rabbit.jpg"
) );
Saving a BufferedImage to a
file
// BufferedImage to File
import
javax.imageio.ImageIO;
import
java.awt.image.BufferedImage;
import
java.io.File;
...
ImageIO.write(
aBufferedImage, "jpeg"
,
              
new File ( "snap.jpg"
)
);

ImageWriteParam is a way of
controlling exactly how the image in encoded. There is currently no PNG support
for it. This is not for injecting meta info.
Loading a
BufferedImage from an URL
// url to
BufferedImage
import
java.awt.image.BufferedImage;
import
javax.imageio.ImageIO;
...
BufferedImage
image =
null;
try
   {
   image =
ImageIO.read(
url );
  
}
catch ( IOException
e )
   {
  
System.out.println(
"image missing" );
  
}

Converting Image to BufferedImage
// Image to
BufferedImage
import
java.awt.image.BufferedImage;
import
java.awt.Image;
...
BufferedImage
bufferedImage = new
BufferedImage (
imageWidth,
                                                 
imageHeight,
                          
                       BufferedImage.TYPE_INT_BGR 
);
bufferedImage.createGraphics().drawImage(
image, 0,
0, this
);

Java图像文件的读写的更多相关文章

  1. JAVA用geotools读写shape格式文件

    转自:http://toplchx.iteye.com/blog/1335007 JAVA用geotools读写shape格式文件 (对应geotools版本:2.7.2) (后面添加对应geotoo ...

  2. java文件的读写操作

    java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...

  3. java通过dom读写xml文件

    java通过dom读写xml文件 要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册 ...

  4. java FileReader/FileWriter读写文件

    java FileReader/FileWriter读写字母和数字没问题,但读写汉字就乱码.记录下,后面找到解决方法再补上. public static void main(String[] args ...

  5. Java中如何读写cookie (二)

    Java中删除cookie Cookie[]   cookies=request.getCookies();       //cookies不为空,则清除       if(cookies!=null ...

  6. 沉淀再出发:java的文件读写

    沉淀再出发:java的文件读写 一.前言 对于java的文件读写是我们必须使用的一项基本技能,因此了解其中的原理,字节流和字符流的本质有着重要的意义. 二.java中的I/O操作 2.1.文件读写的本 ...

  7. java 文件的读写操作

    java  文件的读写操作 一.读: public String getSetting() { HttpServletRequest request=org.apache.struts2.Servle ...

  8. 《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)

    1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容.由于java不像python那样有直接操作Excle文件的类 ...

  9. 《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)

    1.简介 前面介绍了POI可以操作excel,也简单的提到另一个操作excle的工具,本篇介绍一个其他的可以操作excel的工具,但是这个工具有一个前提,excel文件版本只能是97-2003版本,如 ...

随机推荐

  1. Linux下/etc/resolv.conf 配置DNS客户

    文件/etc/resolv.conf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数.下面是一个例子文件: search mydom ...

  2. LightOj 1090 - Trailing Zeroes (II)---求末尾0的个数

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1090 题意:给你四个数 n, r, p, q 求C(n, r) * p^q的结果中末尾 ...

  3. linux 多个ssh key 登录远程主机

    登录A主机使用分配的sshkey需要指定特定的key,ssh -i  ~/.ssh/xxx_id_rsa_privatekey    username@host , 指定key后登录提示: Agent ...

  4. django http 403 错误

    在使用android的xUtils框架提交post请求到django服务器上面,出现错误,返回Forbiddeen.解决方法记录于此. 参考链接 http://blog.csdn.net/liangp ...

  5. js的语句

    1.语句类型总结 var box = 100;//单行语句 { //用花括号包含的语句集合,叫做复合语句,单位一个 //一对花括号,表示一个复合语句,处理时,可以单做一条单行语句, //复合语句,我们 ...

  6. 微信小店开发(2) DIY货架

    微信小店的货架支持开放给开发者使用,即开发者可以将自己的页面作为货架,通过JavaScript API来调起微信客户端原生的商品详情页. 请注意:1. 开发者需要预先通过1.1中的增加商品API,预先 ...

  7. Maven 迁移local repository

    1.1 Maven仓库主要有2种: remote repository:相当于公共的仓库,大家都能访问到,一般可以用URL的形式访问,一般默认的地址:http://search.maven.org/ ...

  8. MAC中开发Unity3D

    一直想做3D开发,去年后半年开始学IOS下的OpenGL,只学会了纹理,而且灯光音效什么的好麻烦,于是想学学Unity3D. 今年年初就计划上了,可是Unity3D收费,费用不便宜呢.用Unity3D ...

  9. 【关于HBITMAP, DC, MEM DC, Clipboard】将HBITMAP拷贝到Clipboard(Windows Clipboard & OLE Clipboard)

    参考: Programming Windows with MFC, 2nd. Chapter 18, 19. 建议把这两章学习完(至少到OLE drag-and-drop之前要学习完)再来尝试OLE ...

  10. jQuery.serialize()函数

    jQuery.serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交的字符串. jQuery.serialize()函数常用于将表单内容序列化,以便用于AJAX提交. 该函数主要根 ...