1

如何在不使用 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 图像对象。

4

1 回答 1

3

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

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

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

<cfset bytes = yourCFImageObject.getImageBytes("png")>
于 2012-04-27T16:32:00.800 回答