使用JMagick合成水印图片时,水印图片不能正常显示的原因和解决办法

我的网站[url=http://www.kuowan.com]阔玩游戏[/url]后台使用的是ImageMagick和JMagick进行图片的缩略,今天在进行缩略图片的时候,意外的发现在使用JMagick给图片追加水印图片之后,生成的结果图中,无法显示水印图片,原本应该是水印图片的地方,显示的是一块黑色的区域。经过了将近2个多小时的查找,终于找到了问题的原因。

问题的原因为:
magickImage.compositeImage(CompositeOperator.OutCompositeOp,magickLogo, getCoordinate(width - water_width - offset_x, width, offset_x), getCoordinate(height - water_height - offset_y, height,offset_y));

经过检查,是CompositeOperator.OutCompositeOp这块除了问题,将合成模式改为CompositeOperator.AtopCompositeOp就可以了。
JMagick在合成这块的模式很多,有50多种,如果用错了模式,极易出现问题。每个模式具体的功能目前还没仔细研究,有空看来得仔细研究一下。

另外,合成的时候,坐标位置不正确也有可能导致水印图片无法显示。


本文来自阔玩-小猫博客,转载请标明出处:[url]http://www.kuowan.com/a/2010/07-13/151850.htm[/url]

你可能感兴趣的:(使用JMagick合成水印图片时,水印图片不能正常显示的原因和解决办法)