- 浏览: 83793 次
最新评论
-
h416373073:
内容不多
properties几点注意事项 -
编程的石头:
COPY过去了,呵呵,偷点懒,没看懂的可以去看下这篇文章,原理 ...
Log4j多个日志文件 -
tianwaishan:
路过,,,,
properties几点注意事项 -
rich3385:
好贴,有帮助,如果能深入详细一些就更好了。
Birt初探 -
spacefly:
顶 ssss
利用开源组件制作验证码
战友是梦,睡也思恋;战友是魂,嵌入心田;
战友是金,沉沉甸甸;战友是缘,一世相牵;
战友是路,越走越宽,战友是福,吉祥无边。
祝曾经当过兵的、现在在当兵的、军人家属节日快乐!
处理图片、给图片加水印
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、效果图片
发表评论
-
JEECG我来了!
2013-05-04 17:12 339最 ... -
windows xp CVSNT
2009-02-06 14:22 2183环境:win xp sp2+cvsnt:2.5.04.3236 ... -
properties几点注意事项
2008-12-11 09:09 2977在项目中使用配置文件*.properties的几点注意事项:p ... -
Log4j多个日志文件
2008-11-24 16:51 4827Log4j的基本使用不再在此细说,在工作中有需求要将错误日志信 ... -
Struts <html:multibox> <html:select>
2008-07-01 08:51 3263庆贺党的生日! 一、 ... -
利用开源组件制作验证码
2008-06-20 09:47 3822jsp验证码制作 介绍两个功能强大的开源制作验证码组件 ... -
ExtremeTable
2008-05-29 08:56 1614目前开源的JSP分页组件已有很多,像displayTag, ... -
Struts1.X
2008-04-29 09:10 1359文章主要内容是介绍本人在使用Struts过程中常用到的一些特性 ... -
JAVA IO 学习
2008-03-31 08:54 1137简单的创建一个文件: ... -
JAVA中获取路径
2008-02-29 12:59 4270JAVA中获取路径: 1.jsp中取得路径: 以工 ... -
JAVA处理日期时间
2007-12-29 09:43 4944JAVA处理日期时间常用方法: 1.java.util.Ca ... -
Hibernate 闲谈杂记
2007-11-30 12:38 3035Hibernate 闲话杂记 解压缩从Hibernate ... -
JSTL 展现页面内容
2007-09-10 10:16 2471祝恩师们节日快乐! JSP 标准标记库(JS ... -
Struts+Spring+Hibernate处理Lob(Blob,Clob)
2007-08-13 15:18 8310Struts+Spring+Hibernate处理Lob(B ... -
简述Abstract Class和Interface
2007-08-02 08:57 1500Abstract Class和Interfa ... -
轻松上传文件
2007-08-01 10:04 1823献给建军八十周年 文件上传在JAVA应用中比 ... -
JasperReport+iReport
2007-07-05 17:00 7062JasperForge.org 是开源门户网站 http ... -
Birt初探
2007-06-25 13:38 4709报表是作为企业应用中比较常用的功能模块 ...
相关推荐
总的来说,这个WinForm应用提供了一个方便的工具,可以对图片进行多种操作,如加水印(文字和图片)、等比例缩放和压缩,这对于日常需要处理图片的工作非常实用。通过理解并应用GDI+的图形处理技术,开发者可以...
VB(Visual Basic)是一种由微软开发的编程环境,它提供了简单易用的图形用户界面(GUI)创建工具和丰富的功能,使得创建给图片加水印的小程序变得容易。下面我们将深入探讨如何使用VB来实现这个功能,以及涉及到的...
"给图片加水印 批量给图片加水印"这个主题涉及到图像处理技术,特别是批量处理方面,这对于摄影师、设计师或者内容创作者来说非常重要。下面我们将详细探讨如何实现这一功能,以及涉及到的相关技术。 首先,我们要...
你可以加载一个透明PNG作为水印,然后使用`Image.open()`和`Image.paste()`方法来添加到图片上。此外,还可以调整水印的位置、透明度、旋转角度等,以达到理想的效果。 对于压缩包中的"Watermark"文件,这可能是一...
2. **加载图片**:使用Image类的FromFile方法加载要添加水印的图片。 3. **创建Graphics对象**:通过Image对象的CreateGraphics方法创建一个Graphics对象,它是绘制图像的基础。 4. **设置水印文本和样式**:定义...
### Delphi 实现给图片添加水印:使用 ImageEn 控件 #### 背景介绍 在 Delphi 开发环境中,实现对图像处理的需求时,经常会遇到需要为图片添加水印的情况。添加水印不仅可以保护图片版权,还能提高品牌识别度。本文...
总结来说,给图片加水印涉及到图像处理技术,包括选择合适的库、设计水印样式、定位水印、处理透明度,以及最终保存结果。通过编程实现,我们可以灵活控制水印的各种属性,以满足不同需求。提供的`watermark`可能是...
这使得即使没有深入的图像处理经验,用户也能方便地在自己的项目中集成批量加水印的功能。 总的来说,C#的这个批量加水印解决方案结合了GDI+的强大功能,提供了一个高效且灵活的方法,能够帮助开发者快速实现水印...
// 在这里处理图片 } } ``` 2. **处理GIF图片**:因为直接对GIF图片使用`Graphics.FromImage()`会遇到问题,所以需要先根据GIF图片的尺寸创建一个新的位图,然后将原图绘制到这个新位图上。 ```csharp using ...
在C#编程中,给图片添加水印是一项常见的...总之,C#提供了一套完整的API来处理图像和水印,使得在程序中实现图片加水印变得简单易行。通过理解并熟练运用上述技术,开发者可以轻松地为自己的项目添加这一实用功能。
5. **处理图片格式和质量**:HTML2Canvas默认生成的是PNG格式,如果需要其他格式(如JPEG),可以在调用`toDataURL`时指定。同时,可以通过`onrendered`回调函数调整图片的质量。 6. **优化与兼容性**:HTML2Canvas...
在C#编程中,添加水印到图片是一项常见的任务,特别是在设计软件或处理图像的应用程序中。本示例主要关注如何使用C#和WPF(Windows Presentation Foundation)技术来实现这个功能,既可以添加图片水印,也可以添加...
在提供的压缩包文件名列表中,我们看到有三个与“给图片加水印”相关的文本文件:`给图片加水印2.txt`、`给图片加水印1.txt`和`给图片加水印.txt`。这些文件可能包含了具体的代码示例、步骤解释或不同实现方式。通过...
"Vb图片加水印组件.rar" 提供了一个实用的技术方案,帮助开发者实现这一功能。该组件使得在图片上叠加图片或文字水印变得简单,通过VB的内置控件Picture1.Picture属性进行操作,并能将处理后的图片保存为新的格式。 ...
对于经常需要处理图片的用户,还可以保存常用的设置为预设,以便快速调用。 4. 应用场景:Batch Image Resizer适用于各种场合。例如,摄影师可以批量调整照片尺寸,以便上传到不同的在线画廊或社交媒体;设计师可以...
接下来,我们需要处理图片添加水印的逻辑。这个过程通常包括读取图片,生成水印(可以是文本或图像),然后将水印合并到原始图片上。在Java中,我们可以使用Java Advanced Imaging (JAI)库或者更现代的ImageMagick的...
在图像处理领域,批量操作是...其直观的中文界面和强大的定制功能,使得即使是初级用户也能轻松上手,快速完成图片加水印的工作。通过使用这款软件,用户可以有效地保护自己的作品,同时增加品牌辨识度,提高工作效率。
通过以上步骤,你就可以在Winform应用中实现一个功能完善的图片加水印工具,包括图片和文字水印,以及透明度和字体调整。这个过程涉及了Windows Forms控件的使用、图像处理和图形绘制,是.NET框架中基础但实用的技能...
本话题主要探讨如何在Delphi中实现图片与Base64编码之间的转换,并且涉及到给图片添加水印的功能,包括水印图片和文字。这些功能在很多实际应用场景中非常常见,如网页上传图片、数据存储以及品牌保护等。 首先,...