【问题标题】:How can I scale an image with ColdFusion without losing resolution?如何在不丢失分辨率的情况下使用 ColdFusion 缩放图像?
【发布时间】:2012-02-09 02:28:20
【问题描述】:

服务器配置:

  • Windows Server 2003
  • IIS 6
  • ColdFusion 8 标准版
  • Java 版本 6 更新 18

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

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

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

这是我用来缩放图像的 [scaled-down] 代码:

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

【问题讨论】:

    标签: image-processing coldfusion resolution coldfusion-8


    【解决方案1】:

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

    Adding a dynamic image to a PDF using ColdFusion and iText

    【讨论】:

    • 这正是我将图像添加到 PDF 中的方式,但我不知道使用 iText 缩放图像的任何方法。我会看看。谢谢。
    • 这行得通。 Java 类 com.lowagie.text.Image 有一个 scaleToFit() 方法可以完美运行 - 也更快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 2011-09-24
    • 2011-12-06
    • 2012-01-18
    • 2020-10-14
    相关资源
    最近更新 更多