import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Demo04 {
?public static void main(String[] args){
?//图片变亮变暗,使用缓冲数组
//注意如果想要实现上面的三个效果,依次把注释去掉就可以了,为了不起冲突,最好只保留一个不
//注释的代码
??test();
?}
?private static void test(){
??File file=new
//此处是你的图片的路径,同时注意一点,格式要是.bmp,否则效果可能不好,想该图片的格式,可以用电脑自带的画图工具。
??File("F:\\电脑壁纸\\1.bmp");
??try {
???RandomAccessFile raf=new RandomAccessFile(file,"rw");
???raf.seek(54);
???byte[] buf=new byte[1024*8];
???int n=0;
???while((n=raf.read(buf))!=-1){
????for (int i = 0; i < buf.length; i++) {
?????int b=buf[i]&0xff;
//?????//变亮
//?????b+=100;
//?????if(b>255){
//??????b=255;
//?????}
//?????//变暗
//?????b-=100;
//?????if(b<0){
//??????b=0;
//?????}
?????//反色
?????b=255-b;
?????
?????buf[i]=(byte)b;
????}
????
????//指针复位
????raf.seek(raf.getFilePointer()-n);
????raf.write(buf, 0, n);
???}
???raf.close();
???System.out.println("修改完毕!");
??} catch (FileNotFoundException e) {
???e.printStackTrace();
??}catch(IOException e){
???e.printStackTrace();
??}
?}
?
}
原文:http://1790235360.iteye.com/blog/2295954