﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小方的Java博客-文章分类-J2se 高级</title><link>http://www.blogjava.net/jorwen/category/7237.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 11:42:51 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 11:42:51 GMT</pubDate><ttl>60</ttl><item><title>用 Java 保存位图文件</title><link>http://www.blogjava.net/jorwen/articles/29422.html</link><dc:creator>方佳玮</dc:creator><author>方佳玮</author><pubDate>Wed, 01 Feb 2006 04:27:00 GMT</pubDate><guid>http://www.blogjava.net/jorwen/articles/29422.html</guid><wfw:comment>http://www.blogjava.net/jorwen/comments/29422.html</wfw:comment><comments>http://www.blogjava.net/jorwen/articles/29422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jorwen/comments/commentRss/29422.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jorwen/services/trackbacks/29422.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 摘要&nbsp;&nbsp;&nbsp; 虽然&nbsp;Java&nbsp;提供了几种打开图像的机制，但保存图像并不是它的强项。这篇技巧将讲述如何将图像保存在&nbsp;24&nbsp;位位图文件中。另外，Jean-Pierre&nbsp;还提供了将图像文件写入位图文件所需的全部代码。&nbsp;&nbsp;&nbsp;&nbsp; 这篇技巧是&nbsp;"在&nbsp;Java&nbsp;应用...&nbsp;&nbsp;<a href='http://www.blogjava.net/jorwen/articles/29422.html'>阅读全文</a><img src ="http://www.blogjava.net/jorwen/aggbug/29422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jorwen/" target="_blank">方佳玮</a> 2006-02-01 12:27 <a href="http://www.blogjava.net/jorwen/articles/29422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java中利用JMF编写摄像头拍照程序</title><link>http://www.blogjava.net/jorwen/articles/29421.html</link><dc:creator>方佳玮</dc:creator><author>方佳玮</author><pubDate>Wed, 01 Feb 2006 04:24:00 GMT</pubDate><guid>http://www.blogjava.net/jorwen/articles/29421.html</guid><wfw:comment>http://www.blogjava.net/jorwen/comments/29421.html</wfw:comment><comments>http://www.blogjava.net/jorwen/articles/29421.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jorwen/comments/commentRss/29421.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jorwen/services/trackbacks/29421.html</trackback:ping><description><![CDATA[<SPAN class=pg id=xydwtext><SPAN id=ArticleContent1_ArticleContent1_lblContent>首先到SUN下载最新的JMF，然后安装。http://java.sun.com/products/java-media/jmf/index.jsp<BR><BR>　　然后，说一下需求<BR><BR>　　1． 用摄像头拍照<BR><BR>　　2． 在文本框输入文件名<BR><BR>　　3． 按下拍照按钮，获取摄像头内的图像<BR><BR>　　4． 在拍下的照片上有一红框截取固定大小的照片。<BR><BR>　　5． 保存为本地图像为jpg格式，不得压缩画质<BR><BR>　　技术关键，相信也是大家最感兴趣的部分也就是如何让一个摄像头工作，并拍下一张照片了。<BR><BR>　　利用JMF，代码很简单：<BR><BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">利用这三个类分别获取摄像头驱动，和获取摄像头内的图像流，获取到的图像流是一个Swing的Component组件类</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;Player&nbsp;player&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;CaptureDeviceInfo&nbsp;di&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;MediaLocator&nbsp;ml&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">文档中提供的驱动写法，为何这么写我也不知：）</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>String&nbsp;str1&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">vfw:Logitech&nbsp;USB&nbsp;Video&nbsp;Camera:0</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>String&nbsp;str2&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">vfw:Microsoft&nbsp;WDM&nbsp;Image&nbsp;Capture&nbsp;(Win32):0</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>di&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;CaptureDeviceManager.getDevice(str2);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>ml&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;di.getLocator();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_370_540_Open_Image onclick="this.style.display='none'; Codehighlighter1_370_540_Open_Text.style.display='none'; Codehighlighter1_370_540_Closed_Image.style.display='inline'; Codehighlighter1_370_540_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_370_540_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_370_540_Closed_Text.style.display='none'; Codehighlighter1_370_540_Open_Image.style.display='inline'; Codehighlighter1_370_540_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_370_540_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_370_540_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　player&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;Manager.createRealizedPlayer(ml);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　player.start();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　Component&nbsp;comp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;((comp&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;player.getVisualComponent())&nbsp;</SPAN><SPAN style="COLOR: #000000">!=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">)<BR><IMG id=Codehighlighter1_502_538_Open_Image onclick="this.style.display='none'; Codehighlighter1_502_538_Open_Text.style.display='none'; Codehighlighter1_502_538_Closed_Image.style.display='inline'; Codehighlighter1_502_538_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_502_538_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_502_538_Closed_Text.style.display='none'; Codehighlighter1_502_538_Open_Image.style.display='inline'; Codehighlighter1_502_538_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>　</SPAN><SPAN id=Codehighlighter1_502_538_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_502_538_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　add(comp,&nbsp;BorderLayout.NORTH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>　}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">&nbsp;(Exception&nbsp;e)<BR><IMG id=Codehighlighter1_562_586_Open_Image onclick="this.style.display='none'; Codehighlighter1_562_586_Open_Text.style.display='none'; Codehighlighter1_562_586_Closed_Image.style.display='inline'; Codehighlighter1_562_586_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_562_586_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_562_586_Closed_Text.style.display='none'; Codehighlighter1_562_586_Open_Image.style.display='inline'; Codehighlighter1_562_586_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_562_586_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_562_586_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　e.printStackTrace();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>　　接下来就是点击拍照，获取摄像头内的当前图像。<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>　　代码也是很简单：<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;JButton&nbsp;capture;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;Buffer&nbsp;buf&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;BufferToImage&nbsp;btoi&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;ImagePanel&nbsp;imgpanel&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;Image&nbsp;img&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;ImagePanel&nbsp;imgpanel&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>JComponent&nbsp;c&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(JComponent)&nbsp;e.getSource();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(c&nbsp;</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">&nbsp;capture)</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">如果按下的是拍照按钮&nbsp;</SPAN><SPAN style="COLOR: #008000"><BR><IMG id=Codehighlighter1_888_1180_Open_Image onclick="this.style.display='none'; Codehighlighter1_888_1180_Open_Text.style.display='none'; Codehighlighter1_888_1180_Closed_Image.style.display='inline'; Codehighlighter1_888_1180_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_888_1180_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_888_1180_Closed_Text.style.display='none'; Codehighlighter1_888_1180_Open_Image.style.display='inline'; Codehighlighter1_888_1180_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_888_1180_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_888_1180_Open_Text><SPAN style="COLOR: #000000">{&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　FrameGrabbingControl&nbsp;fgc&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">(FrameGrabbingControl)&nbsp;　player.getControl(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">javax.media.control.FrameGrabbingControl</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　buf&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;fgc.grabFrame();&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;获取当前祯并存入Buffer类</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">　btoi&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;BufferToImage((VideoFormat)&nbsp;buf.getFormat());<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　img&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;btoi.createImage(buf);&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;show&nbsp;the&nbsp;image&nbsp;</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">　imgpanel.setImage(img);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>　　保存图像的就不多说了，以下为示例代码<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>BufferedImage&nbsp;bi&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(BufferedImage)&nbsp;createImage(imgWidth,&nbsp;imgHeight);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>Graphics2D&nbsp;g2&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;bi.createGraphics();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>g2.drawImage(img,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>FileOutputStream&nbsp;out&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_1376_1410_Open_Image onclick="this.style.display='none'; Codehighlighter1_1376_1410_Open_Text.style.display='none'; Codehighlighter1_1376_1410_Closed_Image.style.display='inline'; Codehighlighter1_1376_1410_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1376_1410_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1376_1410_Closed_Text.style.display='none'; Codehighlighter1_1376_1410_Open_Image.style.display='inline'; Codehighlighter1_1376_1410_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1376_1410_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1376_1410_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　out&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;FileOutputStream(s);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">&nbsp;(java.io.FileNotFoundException&nbsp;io)<BR><IMG id=Codehighlighter1_1453_1494_Open_Image onclick="this.style.display='none'; Codehighlighter1_1453_1494_Open_Text.style.display='none'; Codehighlighter1_1453_1494_Closed_Image.style.display='inline'; Codehighlighter1_1453_1494_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1453_1494_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1453_1494_Closed_Text.style.display='none'; Codehighlighter1_1453_1494_Open_Image.style.display='inline'; Codehighlighter1_1453_1494_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1453_1494_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1453_1494_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　System.out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">File&nbsp;Not&nbsp;Found</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>JPEGImageEncoder&nbsp;encoder&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;JPEGCodec.createJPEGEncoder(out);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>JPEGEncodeParam&nbsp;param&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;encoder.getDefaultJPEGEncodeParam(bi);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>param.setQuality(1f,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">false</SPAN><SPAN style="COLOR: #000000">);</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">不压缩图像</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">encoder.setJPEGEncodeParam(param);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_1696_1733_Open_Image onclick="this.style.display='none'; Codehighlighter1_1696_1733_Open_Text.style.display='none'; Codehighlighter1_1696_1733_Closed_Image.style.display='inline'; Codehighlighter1_1696_1733_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1696_1733_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1696_1733_Closed_Text.style.display='none'; Codehighlighter1_1696_1733_Open_Image.style.display='inline'; Codehighlighter1_1696_1733_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1696_1733_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1696_1733_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　encoder.encode(bi);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　out.close();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">&nbsp;(java.io.IOException&nbsp;io)<BR><IMG id=Codehighlighter1_1766_1804_Open_Image onclick="this.style.display='none'; Codehighlighter1_1766_1804_Open_Text.style.display='none'; Codehighlighter1_1766_1804_Closed_Image.style.display='inline'; Codehighlighter1_1766_1804_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1766_1804_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1766_1804_Closed_Text.style.display='none'; Codehighlighter1_1766_1804_Open_Image.style.display='inline'; Codehighlighter1_1766_1804_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1766_1804_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1766_1804_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　System.out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">IOException</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></SPAN></SPAN><img src ="http://www.blogjava.net/jorwen/aggbug/29421.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jorwen/" target="_blank">方佳玮</a> 2006-02-01 12:24 <a href="http://www.blogjava.net/jorwen/articles/29421.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>