Как я могу масштабировать изображение с ColdFusion без потери разрешения? - PullRequest
2 голосов
/ 08 февраля 2012

Конфигурация сервера:

  • Windows Server 2003
  • IIS 6
  • ColdFusion 8 Standard Edition
  • Обновление Java версии 6 18

У меня есть приложение ColdFusion, которое позволяет пользователям загружать изображения, которые будут добавлены в существующий PDF. Когда изображения добавляются в PDF, они должны соответствовать минимальной / максимальной высоте и ширине, поэтому загружаемое изображение необходимо масштабировать для соответствия.

Например, допустим, что минимальная высота и ширина для данного изображения составляет 100x100, а максимальная высота и ширина составляет 200x200, и пользователь загружает изображение размером 500x1000. Я использую приведенную ниже логику, чтобы уменьшить это изображение без перекоса изображения (оно сохраняет свою первоначальную форму) до 100x200. Для изображения, которое меньше минимального, оно масштабируется (в приведенном выше примере изображение 50x50 будет масштабировано до 100x100).

Проблема, которую я замечаю, заключается в том, что, когда ColdFusion масштабирует изображение с помощью встроенных функций, он уменьшает разрешение до 72 точек на дюйм. Есть ли способ предотвратить эту потерю разрешения, поскольку изображения добавляются в PDF-файлы, которые должны иметь качество печати?

Вот [уменьшенный] код, который я использую для масштабирования изображений:

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

1 Ответ

3 голосов
/ 08 февраля 2012

Я думаю, что вы можете вообще отказаться от масштабирования изображения и добавить исходное изображение в документ PDF. Затем используйте любой инструмент для создания PDF, который вы используете, «изменить размер» и поместите изображение на холст документа. Аналогично настройке ширины и высоты на изображениях в формате html, отличных от собственного разрешения. Мне не нужно было добавлять изображения в документы PDF, как вы описали, но этот пост может указывать вам правильное направление:

Добавление динамического изображения в PDF с использованием ColdFusion и iText

...