当前位置:  技术问答>java相关

怎样才能把Jpg文件转换为Gif文件啊???

    来源: 互联网  发布时间:2015-07-19

    本文导语:  我用GifEncoder,出错说:too many color for a gif,该怎么办啊? | there should be such program available, search at www.google.com | //ofileDirAndName = "c:\1.jpg" public void saveImage(Image pImage,...

我用GifEncoder,出错说:too many color for a gif,该怎么办啊?

|
there should be such program available, search at
www.google.com

|
//ofileDirAndName = "c:\1.jpg"
public void saveImage(Image pImage,String ofileDirAndName)
{
BufferedImage  bimg  =  null;
int  w  =  pImage.getWidth(null);
int  h  =  pImage.getHeight(null);
int  []  pixels  =  new  int[w  *  h];
PixelGrabber pg = new PixelGrabber(pImage,0, 0, w, h,pixels, 0, w);
try {
pg.grabPixels();
}
catch(InterruptedException e) {
e.printStackTrace();
}


this.bout= new ByteArrayOutputStream();System.out.println("3");
//---need a BufferedImage for JPEG Codec.
//---BufferedImage is a subclass of Image.
System.out.println("图像宽高:" +w+":"+h );
BufferedImage bufferedImage= new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);

bufferedImage.setRGB(0,0,w,h,pixels,0,w);

//---sharpen the image.
float[] sharpKernel = { 0.0f, -1.0f, 0.0f,
-1.0f, 5.0f, -1.0f,
0.0f, -1.0f, 0.0f };System.out.println("5");

BufferedImageOp sharpen= new ConvolveOp( new Kernel(3, 3, sharpKernel), ConvolveOp.EDGE_NO_OP, null);
BufferedImage sharp= sharpen.filter( bufferedImage, null );

try
{
//---create an encoder object for the BufferedImage.
JPEGEncodeParam jpegParam= JPEGCodec.getDefaultJPEGEncodeParam( sharp );

jpegParam.setQuality( 1.0f, false );

JPEGImageEncoder jpeg= JPEGCodec.createJPEGEncoder( bout, jpegParam );

//---encode the BufferedImage.
jpeg.encode( bufferedImage );
this.bout.writeTo(new FileOutputStream(ofileDirAndName));
}
catch(Exception ee)
{
System.err.println("出错了"+ee);
}
}

}

    
 
 

您可能感兴趣的文章:

  • linux下的php文件放在哪个文件夹下才能访问
  • 请问如何才能将大量文件合并成一个文件并去除所有空行?
  • 请问:copy文件和删除文件怎样才能不用“确认”呢?
  • 我要下载*.txt文件,怎样才能出现下载对话框,而不是在IE里面直接打开*.txt文件
  • 请问xvfs是什么文件系统?怎样才能让linux认出?
  • qt生成的EXE文件需要它本身的DLL文件才能执行。请问怎么解决
  • 用什么软件才能打开后缀为.z的文件?
  • 我已在一個.java文件中寫了package radom ,在javac時我怎樣才能創建,並把.class文件放到radom中??
  • 刚装上linux,我怎样才能看到windows(FAT32)下的文件?
  • Web服务器/前端 iis7站长之家
  • 我不知道怎么才能用JBuilder写的窗口变成个可执行文件
  • Windows xp下如何才能访问安装在虚拟机上LINUX的文件目录信息
  • 不小心把home下的bin文件夹删除了,如何才能启动unix呀?急用
  • 高分请教:请问怎么才能得到最近所有有关文件操作(新建,删除等)的记录
  • linux 下怎么才能找到想要的文件?
  • mpeg2格式的数据流,封装成什么文件格式dvd影碟机才能播放
  • linux下的FTP登陆后进入到用户文件夹,怎么样配置才能让这个用户可以访问任意的文件夹
  • 在GTK的打开对话框中,怎样才能删除文件?
  • 用VIM做多行匹配,怎样才能将匹配结果输出到文件?
  • 怎样才能让applet访问本地文件呢?
  • 请问:ORACLE中的数据取出来后,需不需要进行一定的转换才能变为C语言的数据类型啊?
  • get_free_pages后获得的虚拟内存地址如何才能转换成物理地址?
  • 请问我用程序如何编辑Adobe Acrobat 5.0的pdf文件(生成报表)啊?或者如何才能将已生成的execl报表转换成pdf格式?
  • vim 编辑makefile文件时,怎么才能让tab不要被转换为空格呢?
  • 怎样才能让String class转换成数值int?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 半路出家转行学编程如何才能成为大牛?
  • 修改了hosts.allow,怎么才能生效,是启动了哪个服务才能生效吗?
  • 请较:用window2000做网关,现在LINUX怎么设置才能才能通过它上网呢?
  • 在applet中怎么才能得到当前页面的接口,我的意思是说怎样才能改变比如说一个输入框中的内容
  • 如何才能再次进入linux?
  • 提示文字怎样才能按多行显示?
  • 如何才能在java(vj环境下)播放声音?
  • 急!怎样才能获得javax.rmi包?
  • 为什么Component的组件要add后才能paint()?
  • 我怎么才能知道一个线程已经执行结束?
  • 请教各位高手一个简单的问题:在JAVA 中如何才能取得一些系统信息?
  • 怎样才能做出半透明的JMenuItem,有人会吗?
  • 我是一个JAVA初学者,不知道怎么才能进阶,大侠给点提示吧!!
  • 我怎样才能找到例子?
  • 请问怎样才能看到JavaScript原来的脚本语言?
  • 怎样才能取出JTextPane中某一行的文本呢?
  • Tomcat中怎樣才能設置session的過期時間?
  • 怎么样才能封住一些端口,不让别的计算机访问
  • 我怎么样才能检测到系统在发包和收包,及数量统计。
  • 怎样才能判断他的返回值JOptionPane.showConfirmDialog?
  • 怎么才能让命令行窗口停住???


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3