gpt4 book ai didi

coldfusion - ImageNew toBase64 编码问题与 ColdFusion 中的质量损失

转载 作者:行者123 更新时间:2023-12-01 01:23:37 24 4
gpt4 key购买 nike

一段时间以来,我一直在使用 toBase64() 问题。我希望有人能告诉我为什么 CF toBase64() 似乎丢失了一些东西,即在我的例子中它降低了图像的质量。

我有一个解决方案(请参阅下面的最后一个代码示例),但我讨厌不明白为什么并且很想解决这是 CF。

如果有人愿意运行下面的代码,您会发现在 toBase64 转换后图像质量很差。没什么大不了的,但编码后看起来不太好。如果你从来没有注意到,那就试试吧,你会明白我的意思。

有谁知道为什么,或者如何在 CF 中解决这个问题?

<!--- EXAMPLE 1 --->

<!--- GET IMAGE - --->
<cfset image = ImageNew("test.png")>
<!--- BEFORE GOOD--->
<cfimage action="writeToBrowser" source="#image#" >
<cfset image = toBinary(toBase64(image)) />
<!--- AFTER --->
<cfimage action="writeToBrowser" source="#image#" >
<!--- Example 2 --->
<cfset image = ImageNew("test.png")>
<cfset FileWrite(expandPath('./converted.image'),toBinary(toBase64(image))) />
<!--- without any cfimage processing, the outputted file is a JPEG --->

我的解决方案是使用一个 java 插件,一切似乎都很好,但出于某些原因,我不会进入这里,而不是我可以做的事情。
image = createObject("java","it.sauronsoftware.base64.Base64").encode(image);
toBinary(image );

上面代码的示例图像输出可以在这里找到: http://i56.tinypic.com/29fwiq.png
第一个是在 toBase64 之前,第二个是之后,您可以看到在第二个输出的 toBase64 函数之后图像质量有所下降。

更新:正如 Peter 所指出的,问题似乎在于 ImageObject 中的自动输出/转换代码为 toBase64 函数提供二进制输出进行编码。

更新 我已将此作为 CF 9.0.1 中的错误提交,请为错误 3177303 投票
https://bugbase.adobe.com/index.cfm?event=bug&id=3177303

最佳答案

关于coldfusion - ImageNew toBase64 编码问题与 ColdFusion 中的质量损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8050555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com