我遇到了一个奇怪的问题,据我所知没有 Java 专家可以解决..
我需要在我的应用程序上使用 imagemagick 将我网站上的电子邮件转换为图像,这样就没有锅可以轻松地获取电子邮件..使用 image magick 命令行解决了问题,如下所示 转换 -size 200x30 xc:transparent -font/home/emad/TITUSCBZ.TTF -fill black -pointsize 12 -draw "text 5,15 'emadhegab@hotmail.com'"/home/emad/test.png
它真的像魔术一样工作,所以我尝试将其放在java上来运行它 Runtime.getRuntime().exec(命令) 但结果令人遗憾地令人失望..我现在有图像作为输出..但里面没有文本..我做了一个系统来查看命令并采取了输出的命令并将其放入终端中并且它起作用了..所以运行时的问题是如何的..java的代码是..以防万一你问
==================
String size = ("1000x1030");
String path = System.getProperty("user.home");
String command="convert -size "+ size +" xc:white -font /tmp/TITUSCBZ.TTF -pointsize 12 -draw 'text 300,300 \"emadhegab@hotmail.com\"' "+path +"/test.jpg";
try{
Process proc =Runtime.getRuntime().exec(command);
System.out.println(command);
}catch(Exception e){
System.out.println("error");
}
=================
它会给你空白图像..有人有解决方案吗
最佳答案
您需要传递命令,它的参数是字符串数组,而不是字符串连接。
String[] cmd = {"convert", "-size", "size", "c:white", ..., path +"/test.jpg"};
关于java - ImageMagick 和 Java Runtime Exec 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2148043/