java 修改图片dpi_Java修改图片dpi

原理是:GraphicsMagick + libpng +Java版调用工具:gm4java

步骤:

下载libpng 解压到目录

进入目录执行

./configure

make

make install

下载GraphicsMagick解压到目录

进入目录执行

./configure

make

make install

make clean

然后终端输入gm 如果提示有help字样表示安装成功

如果出现

[root@kvm21 lib]# gm

gm: error while loading shared libraries: libpng16.so.16: cannot open shared object file: No such file or directory

1、vi /etc/ld.so.conf

2、加入/usr/local/lib

3、ldconfig

ok 安装完了上代码:

com.sharneng

gm4java

1.1.0

public class DPI {

private GMConnectionPoolConfig config = new GMConnectionPoolConfig();

private PooledGMService service = new PooledGMService(config);

public static void main(String[] args) {

try {

new DPI().generate(new File("/Users/admin/Desktop/src/416_before.png"),

new File("/Users/admin/Desktop/416_after.png"), 300);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

private void generate(File srcFile, File destFile, int dpi) throws Exception{

service.execute(

"convert",

new String[]{

"-units",

"PixelsPerInch",

srcFile.getAbsolutePath(),

"-density", dpi+"",

destFile.getAbsolutePath()

}

);

}

}

效果:

改之前DPI

32b6cf43c8901d3bc653ddd24fa2f5aa.png

改之后DPI:

295a4016de2426948e19134cb3539f6f.png

虽然肉眼看上去图片质量一样,但DPI确实改了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值