Centos 7上使用SWT在图片上绘制文字
Using SWT on Centos 7 to draw text on a picture
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.ImageLoader;
import org.eclipse.swt.widgets.Display;
.....
display = new Display();
image = new Image(display, chosenImageFilePath);
gc = new GC(image);
gc.drawText("text to be drawn", 0, 0, SWT.DRAW_TRANSPARENT);
gc.dispose();
ImageLoader loader = new ImageLoader();
loader.data = new ImageData[] { image.getImageData() };
loader.save(destinationImageFilePath, SWT.IMAGE_JPEG);
image.dispose();
display.dispose();
我正在图片上绘制一些文字,这一切都适用于 windows 使用 eclipse。当我将它导出为 运行nable jar 并通过 cmd 运行 导出时它也有效。
制作该程序的主要目的是让我可以在我的网络应用程序(tomcat、java、jsp、mysql)中使用它,现在运行ning 在 Centos 7 云服务器上。
我在尝试 运行 时收到此错误:
我已经下载了 swt-3.6.1-gtk-linux-x86_64 并将其添加到 eclipse 的项目库和构建路径中,但似乎没有修复它。
有任何想法吗?我什至可以在没有显卡的虚拟服务器上 运行 这个吗?
PS 我没有展示我的大部分代码(有效且不会导致错误),它们只是计算文本在图片上的绘制位置。
回答我自己的问题。好的,所以...
1.Imported 将此 .jar 放入项目的构建路径中:
org.eclipse.swt.gtk.linux.x86_64-4.3.jar
使用
yum install xorg-11-server-Xvfb
我启用了虚拟缓冲区的使用来替代图形环境的不足。
下一步是激活虚拟显示:
Xvfb :1 -ac -screen 0 1024x768x8 & export DISPLAY=:1
然后我就可以 运行 我的 运行nable jar。
PS 也许有些事情没有得到最好的解释,但这些是让我能够使用我的应用程序的步骤。
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.ImageLoader;
import org.eclipse.swt.widgets.Display;
.....
display = new Display();
image = new Image(display, chosenImageFilePath);
gc = new GC(image);
gc.drawText("text to be drawn", 0, 0, SWT.DRAW_TRANSPARENT);
gc.dispose();
ImageLoader loader = new ImageLoader();
loader.data = new ImageData[] { image.getImageData() };
loader.save(destinationImageFilePath, SWT.IMAGE_JPEG);
image.dispose();
display.dispose();
我正在图片上绘制一些文字,这一切都适用于 windows 使用 eclipse。当我将它导出为 运行nable jar 并通过 cmd 运行 导出时它也有效。
制作该程序的主要目的是让我可以在我的网络应用程序(tomcat、java、jsp、mysql)中使用它,现在运行ning 在 Centos 7 云服务器上。 我在尝试 运行 时收到此错误:
我已经下载了 swt-3.6.1-gtk-linux-x86_64 并将其添加到 eclipse 的项目库和构建路径中,但似乎没有修复它。 有任何想法吗?我什至可以在没有显卡的虚拟服务器上 运行 这个吗? PS 我没有展示我的大部分代码(有效且不会导致错误),它们只是计算文本在图片上的绘制位置。
回答我自己的问题。好的,所以...
1.Imported 将此 .jar 放入项目的构建路径中:
org.eclipse.swt.gtk.linux.x86_64-4.3.jar
使用
yum install xorg-11-server-Xvfb
我启用了虚拟缓冲区的使用来替代图形环境的不足。
下一步是激活虚拟显示:
Xvfb :1 -ac -screen 0 1024x768x8 & export DISPLAY=:1
然后我就可以 运行 我的 运行nable jar。
PS 也许有些事情没有得到最好的解释,但这些是让我能够使用我的应用程序的步骤。