如何从java缓冲图像创建CF兼容图像

时间:2012-04-26 14:30:42

标签: java coldfusion coldfusion-9

如何在不使用CF ImageNew()函数的情况下从java缓冲图像创建CF兼容图像对象?

imageCFCObj = createObject("component","imagecfc.image" );
local.img1 = imageCFCObj.readImage("D:\#arguments.directoryPath#");

 // local.img1 now of type java.awt.image.BufferedImage
 // from here how do you create a CF compatible image object?

(已更新以包含链接) 因此,不使用CF函数ImageNew()(它有major issue with automatic output/conversion code,请参阅bug #3177303)如何使用CF中的JAVA将其更改为我可以使用的兼容CF图像对象。

1 个答案:

答案 0 :(得分:3)

(从上面的评论中,答案最终朝着不同的方向发展)。

如上所述in this thread使用toBase64(imageObject)imageGetBlob可能会导致图像质量下降,因为png图片会转换为jpg格式。这些函数似乎错误地确定了返回格式。

可能的解决方法是使用未记录的 Image.getImageBytes(format)方法,该方法允许您明确指定输出格式。

<cfset bytes = yourCFImageObject.getImageBytes("png")>