如何从 Java 缓冲映像创建与 CF 兼容的映像



如何在不使用 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() 的情况下(它在自动输出/转换代码方面存在重大问题,请参阅错误 #3177303 ) 您如何在 CF 中使用 JAVA 将其更改为我可以使用的兼容 CF 图像对象。

(从上面的评论来看,答案最终走向了不同的方向)。

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

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

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

最新更新