2
我正在使用ImageMagick的Java端口JMagick。我需要能夠創建新圖像並將任意文本塊寫入其中。文檔非常差,我設法獲得遠遠是將文本寫入來自IO的圖像。另外,在所有示例中,我發現它似乎是在寫入新圖像數據之前的第一個操作,它總是將現有圖像加載到ImageInfo實例中。如何用JMagick從頭創建一個圖像,然後在其中寫入文本?使用JMagick從頭開始創建圖像
這是我現在做的事:
try {
ImageInfo info = new ImageInfo();
info.setSize("512x512");
info.setUnits(ResolutionType.PixelsPerInchResolution);
info.setColorspace(ColorspaceType.RGBColorspace);
info.setBorderColor(PixelPacket.queryColorDatabase("red"));
info.setDepth(8);
BufferedImage img = new BufferedImage(512,512,BufferedImage.TYPE_4BYTE_ABGR);
byte[] imageBytes = ((DataBufferByte) img.getData().getDataBuffer()).getData();
MagickImage mimage = new MagickImage(info,imageBytes);
DrawInfo aInfo = new DrawInfo(info);
aInfo.setFill(PixelPacket.queryColorDatabase("green"));
aInfo.setUnderColor(PixelPacket.queryColorDatabase("yellow"));
aInfo.setOpacity(0);
aInfo.setPointsize(36);
aInfo.setFont("Arial");
aInfo.setTextAntialias(true);
aInfo.setText("JMagick Tutorial");
aInfo.setGeometry("+40+40");
mimage.annotateImage(aInfo);
mimage.setFileName("text.jpg");
mimage.writeImage(info);
} catch (MagickException ex) {
Logger.getLogger(LWJGL_IDOMOO_SIMPLE_TEST.class.getName()).log(Level.SEVERE, null, ex);
}
它不工作時,JVM與訪問衝突崩潰,因爲它可能希望從IO輸入圖像。
你最終解決了這個問題嗎? – jarandaf 2013-09-13 19:13:01
No.I離開它。切換到C++ – 2013-09-14 10:26:48