﻿<?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-javaboys-文章分类-java web</title><link>http://www.blogjava.net/javaboys/category/21162.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 01 Apr 2007 17:05:26 GMT</lastBuildDate><pubDate>Sun, 01 Apr 2007 17:05:26 GMT</pubDate><ttl>60</ttl><item><title>动态图文结合 </title><link>http://www.blogjava.net/javaboys/articles/107793.html</link><dc:creator>javaboys</dc:creator><author>javaboys</author><pubDate>Sun, 01 Apr 2007 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/javaboys/articles/107793.html</guid><wfw:comment>http://www.blogjava.net/javaboys/comments/107793.html</wfw:comment><comments>http://www.blogjava.net/javaboys/articles/107793.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaboys/comments/commentRss/107793.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaboys/services/trackbacks/107793.html</trackback:ping><description><![CDATA[
		<div class="postTitle">
				<a href="http://blog.csdn.net/fightplane/archive/2005/01/14/253196.aspx">
						<img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 动态图文结合</a>
		</div>
		<div class="postText">
				<p>IBM已经有一篇文章介绍动态图文结合输出的文章， 由于此篇文章中使用了SUN的JPEG特殊类：com.sun.image.codec.jpeg.*;我个人认为通用性不好，利用jdk1.4的新特点，也完全可以作到：</p>
				<p>现将本人实践的动态图文结合javabeans的核心公布如下:</p>
				<table cellspacing="3" cellpadding="3" width="80%" border="0">
						<tbody>
								<tr>
										<td bgcolor="#cccccc">
												<p>import java.io.*;<br />import java.util.*;<br />import java.awt.image.BufferedImage;<br />import java.awt.Image;<br />import java.awt.image.AffineTransformOp;<br />import javax.imageio.ImageIO;<br />import java.awt.geom.AffineTransform;<br />import java.awt.Graphics2D;<br />import java.awt.Color;<br />import java.awt.Font;</p>
												<p>..............</p>
												<p>//生成BufferedImage实例,这是不需要真正显示时经常使用的类<br />BufferedImage Bi = ImageIO.read(F);<br /></p>
												<p>// 利用Graphics2D的新特性.<br />Graphics2D g2D = Bi.createGraphics(); <br /></p>
												<p>//定义字体(楷体或宋体等) 及其大小<br />Font myfont=new Font("\u5b8b\u4f53",Font.PLAIN,20);<br />g2D.setFont(myfont);<br />//字体颜色为黑<br />g2D.setColor(Color.BLACK);<br /></p>
												<p>//需要写在图片上文字 注意:中文需要操作系统支持中文 如中文window,<br />// linux下要安装中文字库,并使jdk1.4支持这个中文<br />String strs="hello everyone 中 文";<br /></p>
												<p>//在离顶部 和左边各为20处 写入文字,该处使用了对中文处理的getBytes功能.<br />g2D.drawString(new String(strs.getBytes("ISO8859_1")),20,20);<br /><br />//必须使用,表示完成 <br />g2D.dispose(); <br /><br />try {<br />//使用ImageIO写入图片 <br />ImageIO.write(Bi, ext, ThF);</p>
												<p>//原来是使用com.sun.image.codec.jpeg.*的功能,如下.需要下载com.sun.image.codec.jpeg<br />// FileOutputStream out = new FileOutputStream(ThF);<br />// JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);<br />// encoder.encode(Bi);<br />// out.close();</p>
												<p>}catch (Exception ex) {<br />throw new Exception(" ImageIo.write error in CreatThum.: "+ex.getMessage()); <br />}</p>
										</td>
								</tr>
						</tbody>
				</table>
				<p>只要jsp将相关参数通知这个bean,就会轻松产生自己的图文,下图我自己在linux上调试的结果,由于linux没有安装字库,所以下图中文不正常显示,不过该程序我在中文win2000下调试正常通过:</p>
				<p>
						<b>原图:</b>
				</p>
				<p>
						<img height="194" src="http://www.jdon.com/idea/images/%B6%AF%CC%AC%CD%BC%CE%C4%BD%E1%BA%CF2.jpg" width="272" />
				</p>
				<p>
						<b>效果图</b>
				</p>
				<p>
						<img height="194" src="http://www.jdon.com/idea/images/%B6%AF%CC%AC%CD%BC%CE%C4%BD%E1%BA%CF1.jpg" width="272" />
				</p>
				<p>出自:</p>
				<p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=253196</p>
		</div>
<img src ="http://www.blogjava.net/javaboys/aggbug/107793.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaboys/" target="_blank">javaboys</a> 2007-04-01 17:57 <a href="http://www.blogjava.net/javaboys/articles/107793.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 压缩和解压缩文件 </title><link>http://www.blogjava.net/javaboys/articles/107792.html</link><dc:creator>javaboys</dc:creator><author>javaboys</author><pubDate>Sun, 01 Apr 2007 09:53:00 GMT</pubDate><guid>http://www.blogjava.net/javaboys/articles/107792.html</guid><wfw:comment>http://www.blogjava.net/javaboys/comments/107792.html</wfw:comment><comments>http://www.blogjava.net/javaboys/articles/107792.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaboys/comments/commentRss/107792.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaboys/services/trackbacks/107792.html</trackback:ping><description><![CDATA[
		<div class="postTitle">
				<a href="http://blog.csdn.net/kjeny2002/archive/2004/10/08/127606.aspx">
						<img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 压缩和解压缩文件</a>
		</div>
		<div class="postText">
				<p>/**<br /> * 压缩和解压缩文件<br /> */<br />import java.util.*;<br />import java.util.zip.*;<br />import java.io.*;</p>
				<p>public class Zip {<br />  public Zip(){}</p>
				<p>  /**<br />   * 压缩目录下的文件<br />   * @param zipFileName<br />   * @param inputFile 目录<br />   * @throws java.lang.Exception<br />   */<br />  public void zip(String zipFileName, String inputFile) throws Exception {<br />    zip(zipFileName, new File(inputFile));<br />  }</p>
				<p>  /**<br />   * 压缩文件<br />   * @param zipFileName<br />   * @param inputFile 文件<br />   * @throws java.lang.Exception<br />   */<br />  public void zip(String zipFileName, File inputFile) throws Exception {<br />    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));<br />    zip(out, inputFile, "");<br />    System.out.println("压缩成功!");<br />    out.close();<br />  }</p>
				<p>  public void zip(ZipOutputStream out, File f, String base) throws Exception {<br />    System.out.println("正在压缩  " + f.getName());<br />    if (f.isDirectory()) {<br />      File[] fl = f.listFiles();<br />      out.putNextEntry(new ZipEntry(base + "/"));<br />      base = base.length() == 0 ? "" : base + "/";<br />      for (int i = 0; i &lt; fl.length; i++) {<br />        zip(out, fl[i], base + fl[i].getName());<br />      }<br />    }<br />    else {<br />      out.putNextEntry(new ZipEntry(base));<br />      FileInputStream in = new FileInputStream(f);<br />      int b;<br />      while ( (b = in.read()) != -1)<br />        out.write(b);<br />      in.close();<br />    }</p>
				<p>  }</p>
				<p>  /**<br />   * 解压缩<br />   * @param zipFileName<br />   * @param outputDirectory 输出目录<br />   * @throws java.lang.Exception<br />   */<br />  public void unzip(String zipFileName, String outputDirectory) throws<br />      Exception {<br />    ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));<br />    ZipEntry z;<br />    while ( (z = in.getNextEntry()) != null) {<br />      System.out.println("正在解压 " + z.getName());<br />      if (z.isDirectory()) {<br />        String name = z.getName();<br />        name = name.substring(0, name.length() - 1);<br />        File f = new File(outputDirectory + File.separator + name);<br />        f.mkdir();<br />        System.out.println("创建目录 " + outputDirectory + File.separator + name);<br />      }<br />      else {<br />        File f = new File(outputDirectory + File.separator + z.getName());<br />        f.createNewFile();<br />        FileOutputStream out = new FileOutputStream(f);<br />        int b;<br />        while ( (b = in.read()) != -1)<br />          out.write(b);<br />        out.close();<br />      }<br />    }</p>
				<p>    in.close();<br />  }</p>
				<p>  public static void main(String[] args) {<br />    try {<br />      Zip t = new Zip();<br />//      t.zip("D:\\IdeaProjects.zip", "D:\\IdeaProjects");<br />//      t.unzip("d:\\ddd\\api.jar", "d:\\ddd\\");<br />    }<br />    catch (Exception e) {<br />      e.printStackTrace(System.out);<br />    }<br />  }<br />}</p>
				<br />
				<br />
				<p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=127606</p>
				<br />
		</div>
<img src ="http://www.blogjava.net/javaboys/aggbug/107792.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaboys/" target="_blank">javaboys</a> 2007-04-01 17:53 <a href="http://www.blogjava.net/javaboys/articles/107792.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> [转] 给网站上传的图片盖章 </title><link>http://www.blogjava.net/javaboys/articles/107790.html</link><dc:creator>javaboys</dc:creator><author>javaboys</author><pubDate>Sun, 01 Apr 2007 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/javaboys/articles/107790.html</guid><wfw:comment>http://www.blogjava.net/javaboys/comments/107790.html</wfw:comment><comments>http://www.blogjava.net/javaboys/articles/107790.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javaboys/comments/commentRss/107790.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javaboys/services/trackbacks/107790.html</trackback:ping><description><![CDATA[ 
<script><![CDATA[unction StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}]]&gt;</script><font size="4"></font><div class="post"><div class="postTitle"><br />/************************************************<br /> * &lt;p&gt;java对图片的操作(只能使用jpg)&lt;/p&gt;<br /> * 对图片的签章&lt;br&gt;<br /> * 对图片的缩图&lt;br&gt;<br /> * &lt;p&gt;Title:java对图片的操作(只能使用jpg)&lt;/p&gt;<br /><br /> ***********************************************/<br />package com.cn.wangk.test;</div><div class="postText"><p>import java.io.*;</p><p>import com.sun.image.codec.jpeg.*;//sun公司仅提供了jpg图片文件的编码api</p><p>import java.awt.Font;<br />import java.awt.Graphics;<br />import java.awt.Image;<br />import java.awt.geom.AffineTransform;<br />import java.awt.image.AffineTransformOp;<br />import java.awt.image.BufferedImage;<br />import java.awt.image.ImageObserver;<br />import javax.imageio.ImageIO;</p><p>/**<br /> * @author wangkai<br /> */<br />public class Test {</p><p>    /**<br />     *  <br />     */<br />    public Test() {<br />        try {<br />            //生成以后新的图片地址<br />            File fo = new File("c:\\4.jpg");<br />            //读取的图片文件<br />            String imagePath = "C:\\Documents and Settings\\Administrator"<br />                    + "<a href="file://My/"><strong><font color="#006bad">\\My</font></strong></a> Documents\\My Pictures\\1.jpg";<br />            //盖章的图片文件<br />            String toimagepth = "C:\\1.jpg";<br />            //得到图片的文件流<br />            InputStream imageIn;<br />            imageIn = new FileInputStream(new File(imagePath));<br />            //得到输入的编码器，将文件流进行jpg格式编码<br />            JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);<br />            //得到编码后的图片对象<br />            BufferedImage image = decoder.decodeAsBufferedImage();<br />            Graphics g = image.getGraphics();<br />            try {<br />                InputStream imageIn2 = null;<br />                imageIn2 = new FileInputStream(new File(toimagepth));<br />                //得到输入的编码器，将文件流进行jpg格式编码<br />                JPEGImageDecoder decoder2 = JPEGCodec<br />                        .createJPEGDecoder(imageIn2);<br />                //得到编码后的图片对象<br />                BufferedImage image2 = decoder2.decodeAsBufferedImage();</p><p>                //加盖图片章<br />                ImageObserver obser = null;<br />                int x = image.getWidth() - image2.getWidth();<br />                int y = image.getHeight() - image2.getHeight();<br />                g.drawImage(image2, x, y, obser);<br />            } catch (FileNotFoundException e) {<br />                //打开文件失败，表示章图片不存在，这时候直接加盖文件章（签名）<br />                g.setFont(new Font("宋体", Font.PLAIN, 18));<br />                g.drawString("秋水工作室", image.getWidth() - 100,<br />                        image.getHeight() - 20);<br />                g.drawString("<a href="mailto:water_wang@xs.zj.cn"><strong><font color="#006bad">water_wang@xs.zj.cn</font></strong></a>", image.getWidth() - 180,<br />                        image.getHeight() - 10);<br />            }<br />            g.dispose();</p><p>            ImageIO.write(image, "jpeg", fo);<br />            System.out.println("ok");<br />        } catch (FileNotFoundException e) {<br />            // 自动生成 catch 块<br />            e.printStackTrace();<br />        } catch (ImageFormatException e) {<br />            // 自动生成 catch 块<br />            e.printStackTrace();<br />        } catch (IOException e) {<br />            // 自动生成 catch 块<br />            e.printStackTrace();<br />        }</p><p>    }</p><p>    public static void saveFixedBoundIcon(File imageFile, int height, int width)<br />            throws Exception {<br />        double Ratio = 0.0;<br />        if (imageFile == null || !imageFile.isFile())<br />            throw new Exception(imageFile + "找不到指定的文件!");<br />        String filePath = imageFile.getPath();<br />        BufferedImage Bi = ImageIO.read(imageFile);</p><p>        if ((Bi.getHeight() &gt; height) || (Bi.getWidth() &gt; width)) {<br />            if (Bi.getHeight() &gt; Bi.getWidth()) {<br />                Ratio = (new Integer(height)).doubleValue() / Bi.getHeight();<br />            } else {<br />                Ratio = (new Integer(width)).doubleValue() / Bi.getWidth();<br />            }<br />            File savefile = new File(filePath + "_" + height + "_" + width<br />                    + ".jpg");<br />            Image Itemp = Bi.getScaledInstance(width, height,<br />                    Image.SCALE_SMOOTH);<br />            AffineTransformOp op = new AffineTransformOp(AffineTransform<br />                    .getScaleInstance(Ratio, Ratio), null);<br />            Itemp = op.filter(Bi, null);</p><p>            try {<br />                ImageIO.write((BufferedImage) Itemp, "jpeg", savefile);<br />            } catch (Exception ex) {</p><p>            }<br />        }<br />    }</p><p>    public static void main(String[] args) {<br />        //       Test ts = new Test();<br />        try {<br />            Test.saveFixedBoundIcon(new File(<br />                    "C:\\test.jpg"), 200, 200);<br />        } catch (Exception e) {<br />            // 自动生成 catch 块<br />            e.printStackTrace();<br />        }<br />    }<br />}<br /></p><br /><br /><p id="TBPingURL">出自:Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=219915</p><br /></div><div class="postFoot"><script src="http://localhost:82/PromoteIcon.aspx?id=219915"></script></div></div><span id="Anthem_Comments.ascx_ltlComments__"><span id="Comments.ascx_ltlComments"><br /></span></span><img src ="http://www.blogjava.net/javaboys/aggbug/107790.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javaboys/" target="_blank">javaboys</a> 2007-04-01 17:52 <a href="http://www.blogjava.net/javaboys/articles/107790.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>