如何使用ColdFusion缩放图像而不会丢失分辨率?

时间:2012-02-08 17:38:53

标签: image-processing coldfusion resolution coldfusion-8

服务器配置:

  • Windows Server 2003
  • IIS 6
  • ColdFusion 8标准版
  • Java Version 6 Update 18

我有一个ColdFusion应用程序,允许用户上传将添加到现有PDF的图像。将图像添加到PDF时,它们必须符合最小/最大高度和宽度,因此需要缩放上传的图像以适合。

例如,假设给定图像的最小高度和宽度为100x100,最大高度和宽度为200x200,用户上传的图像为500x1000。我使用下面的逻辑来缩小图像,而不会使图像倾斜(它保持原始形状)为100x200。对于小于最小值的图像,它会按比例放大(在上面的示例中,50x50图像将放大到100x100)。

我注意到的问题是,当ColdFusion使用其内置函数缩放图像时,它会将分辨率降低到72dpi。有没有办法防止这种分辨率的损失,因为图像被添加到需要打印质量的PDF?

这是我用于缩放图像的[缩小]代码:

<cfscript>
    imagePath = "/uploads/image.tif";
    scaledWidth = 100;
    scaledHeight = 100;
    scaledImage = ImageNew(imagePath);
    ImageSetAntialiasing(scaledImage, "on");
    ImageScaleToFit(scaledImage, scaledWidth, scaledHeight);
</cfscript>

1 个答案:

答案 0 :(得分:3)

我想您可能想要跳过缩放图像并将原始图像添加到pdf文档中。然后使用“调整大小”的任何pdf创建工具并将图像放在文档画布上。类似于将html中的图像上的宽度和高度设置为除其原始分辨率之外的其他内容。我没有必要像你描述的那样将图像添加到PDF文档,但这篇文章可能会指出你正确的方向:

Adding a dynamic image to a PDF using ColdFusion and iText