我的是环境是:
OS:win7(64) 旗舰
JDK:1.7
ImageMagick:6.8.8(64)
im4java:1.4.0
op.font("宋体").gravity("southeast").pointsize(18).fill("#BCBFC8").draw("text 5,5 '中文乱码'");
这样写中文乱码
op.font("C:\\Windows\\Fonts\\simsun.ttc").gravity("southeast").pointsize(18).fill("#BCBFC8").draw("text 5,5 '中文不乱码'");
这样写中文就不乱码了
请大侠指点:这样做在其他环境是否有问题
好了上代码
先看个乱码的例子:
private static void addWatermarksByText(String srcPath, String tarPath) throws IOException, InterruptedException, IM4JavaException {
IMOperation op= new IMOperation();
op.font("宋体").gravity("southeast").pointsize(18).fill("#BCBFC8").draw("text 5,5 '中文乱码'");
imOps.addImage();
imOps.addImage();
ConvertCmd convert = new ConvertCmd(false);
// linux下不要设置此值,不然会报错
convert.setSearchPath("D:\\Program Files\\ImageMagick-6.8.8-Q8\\");
convert.run(imOps, srcPath, tarPath);
}
接下来看个不乱码的例子:
private static void addWatermarksByText(String srcPath, String tarPath) throws IOException, InterruptedException, IM4JavaException {
IMOperation op= new IMOperation();
op.font("C:\\Windows\\Fonts\\simsun.ttc").gravity("southeast").pointsize(18).fill("#BCBFC8").draw("text 5,5 '中文不乱码'");
imOps.addImage();
imOps.addImage();
ConvertCmd convert = new ConvertCmd(false);
// linux下不要设置此值,不然会报错
convert.setSearchPath("D:\\Program Files\\ImageMagick-6.8.8-Q8\\");
convert.run(imOps, srcPath, tarPath);
}