战友是梦,睡也思恋;战友是魂,嵌入心田;
战友是金,沉沉甸甸;战友是缘,一世相牵;
战友是路,越走越宽,战友是福,吉祥无边。
祝曾经当过兵的、现在在当兵的、军人家属节日快乐!
处理图片、给图片加水印
JMAGE:是一个开源的JAVA图片处理框架,下载地址:http://jmage.sourceforge.net/。
他能够非常方便对图片进行合并、加边框、加水印等操作,使用起来也非常方便。
1、下载框架,解压后将lib包中的*.jar加入工程中。
2、COPY taglibs-image.tld文件到WEB-INF\lib目录下。
3、配置JMAGE servlet到web.xml文件中:
<servlet>
<servlet-name>jmage</servlet-name>
<servlet-class>org.jmage.mapper.ServletMapper</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jmage</servlet-name>
<url-pattern>/jmage/*</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>jmage</taglib-uri>
<taglib-location>/WEB-INF/lib/jmage.tld</taglib-location>
</taglib>
4、定义一个全局的响应请求图片的配置文件jmage.xml放置在WEB-INF\classes或src目录下。
<jmage>
<properties>
<property name="fixPNGonIE" value="true"/>
<property name="cachedir" value="cache"/>
<!-- Simple filter names and their implementing classes/-->
<property name="brighten" value="org.jmage.filter.color.BrightenFilter"/>
<property name="colorize" value="org.jmage.filter.color.ColorizeFilter"/>
<property name="darken" value="org.jmage.filter.color.DarkenFilter"/>
<property name="rgb" value="org.jmage.filter.color.Index2RGBConverterFilter"/>
<property name="greyscale" value="org.jmage.filter.color.RGB2GreyScaleConverterFilter"/>
<property name="background" value="org.jmage.filter.merge.BackgroundImageFilter"/>
<property name="overlay" value="org.jmage.filter.merge.ImageOverlayFilter"/>
<property name="text" value="org.jmage.filter.merge.TextOverlayFilter"/>
<property name="resize" value="org.jmage.filter.size.BicubicResizeFilter"/>
<property name="border" value="org.jmage.filter.size.BorderExtenderFilter"/>
<property name="crop" value="org.jmage.filter.size.CropFilter"/>
<property name="xrotate" value="org.jmage.filter.size.ExtendingRotationFilter"/>
<property name="rotate" value="org.jmage.filter.size.NonExtendingRotationFilter"/>
<property name="smartresize" value="org.jmage.filter.size.SmartResizeFilter"/>
<property name="edgeenhancement" value="org.jmage.filter.spatial.EdgeEnhancementFilter"/>
<property name="blur" value="org.jmage.filter.spatial.GaussianBlurFilter"/>
<property name="lowpass" value="org.jmage.filter.spatial.LowPassFilter"/>
<property name="mean" value="org.jmage.filter.spatial.MeanFilter"/>
<property name="sharpen" value="org.jmage.filter.spatial.SharpenFilter"/>
<property name="ultrasharpen" value="org.jmage.filter.spatial.UltraSharpenFilter"/>
<property name="unsharpmask" value="org.jmage.filter.spatial.UnsharpMaskFilter"/>
<!-- Simple filter names for some example xml chains that ship with jmage /-->
<property name="shadow" value="org.jmage.filterchain.frame.Shadow"/>
<property name="instantphoto" value="org.jmage.filterchain.frame.InstantPhoto"/>
<property name="plasma" value="org.jmage.filterchain.frame.PlasmaTv"/>
<property name="frame" value="org.jmage.filterchain.frame.WoodenFrame"/>
<property name="sepia" value="org.jmage.filterchain.other.Sepia"/>
<property name="watermark" value="org.jmage.filterchain.watermark.TextWaterMark"/>
</properties>
<!-- Add custom ResourceFactories here /-->
<resourcemanager pool="50">
<factory class="org.jmage.resource.DefaultImageFactory" cachesize="25" cachetype="memory"/>
<factory class="org.jmage.resource.FontFactory"/>
</resourcemanager>
<!-- Add custom FilterChainFactories here /-->
<filterchainmanager pool="50">
<factory class="org.jmage.filterchain.SimpleFilterChainFactory"/>
<factory class="org.jmage.filterchain.XmlFilterChainFactory"/>
</filterchainmanager>
<!-- Add custom ImageEncoders here /-->
<encodermanager pool="50">
<factory class="org.jmage.encoder.JDKImageEncoder"/>
<factory class="org.jmage.encoder.GifEncoder"/>
</encodermanager>
<!-- Change this to any RequestDispatcher implementation /-->
<requestdispatcher class="org.jmage.dispatcher.FilteringRequestDispatcher" pool="50" cachesize="50" cachetype="disk"/>
</jmage>
5、页面引用标签
<%@taglib uri="jmage" prefix="jm"%>
(1)普通引用模式:<img src="<%=request.getContextPath()%>/images/june_vase.jpg"/>
(2)通过配置文件引用模式:<img src="<%=request.getContextPath()%>?image=images/jmage_pocketreference.png&chain=org.jmage.filterchain.watermark.TextWaterMark"/>
6、效果图片