服务器Config:
F 211
我有一个ColdFusion应用程序,允许用户上传将被添加到现有PDF中的图像。当图像被添加到PDF中时,它们必须在最小/最大高度和宽度内匹配,因此上传的图像需要缩放以适应。
例如,假设给定图像的最小高度和宽度为100x100,最大高度和宽度为200x200,用户上传的图像为500x1000。我使用下面的逻辑缩小该图像,而不将图像(保持其原始形状)倾斜到100x200。对于小于最小值的图像,则将其缩放(在上面的示例中,50x50图像将缩放到100x100)。
不幸的是,我在用户上传“无效图像”时遇到了很多问题。我知道ColdFusion在使用渐进式JPEG和CMYK时遇到了问题,但是甚至有些提示也会抛出错误。另外,一个3MB的TIFF图像需要超过一分钟的时间来缩放(更不用说出现的分辨率丢失了,这是我作为一个单独的问题here提交的)。
我添加了一些逻辑来防止ColdFusion试图使用IsImageFile()函数来处理“无效图像”,但是当用户有一个可以在他们的PC上打开和查看的图像时,他们非常沮丧,但是我们不能接受它。做在线印刷公司(如Shutterfly,Kodak等)有这些问题吗?我不记得在这些网站上有过问题(虽然我知道他们可能不一定使用ColdFusion)。
我能做些什么让更多类型的图像被使用的想法(进步,CMYK,等等)并提高性能?
发布于 2012-02-08 19:32:00
您可能必须使用非CF解决方案,就像我们在CF8之前所做的那样。这里提到的一些库:https://stackoverflow.com/questions/158756/what-is-the-best-image-manipulation-library
缩放时间在很大程度上取决于您选择使用的算法。在ColdFusion中向PDF添加图像充其量是不可预测的。我发现它们经常被夸大,大大增加了PDF文件的大小。
以下是docs的一些信息:http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_in-k_16.html
支持的图像文件格式
cfimage标记在许多不同的文件格式上运行。要列出部署ColdFusion应用程序的服务器上支持的格式,请使用GetReadableImageFormats函数和GetWriteableImageFormats函数。
ColdFusion在Macintosh、Windows和Unix操作系统上支持下列默认图像格式:
JPEG
GIF
TIFF
PNG
BMP
ColdFusion不支持下列图像格式:
动画GIF
多页TIFF
PSD
AI
CMYK支持
cfimage标记支持读取和写入CMYK图像,但不支持需要转换图像的操作。例如,您可以在读取、写入、writeToBrowser、调整大小、旋转和信息操作时使用CMYK图像。不能将CMYK图像与转换、captcha和边框操作一起使用。同样的规则也适用于图像函数。例如,ImageNew、ImageRead和ImageWrite函数支持CMYK映像,但ImageAddBorder函数不支持。
https://stackoverflow.com/questions/9198686
复制相似问题