Я использую php и fpdf для создания pdf. Как я могу масштабировать изображение высотой 400 пикселов, чтобы вместить 300 точек в высоту? Размеры - это просто примеры, изображение и доступное пространство являются динамическими.Преобразование пикселей в точки для pdf
ответ
Если вы хотите, чтобы соответствовать 400 пикселов в 300 пунктов, то ваш коэффициент изменения размера будет просто 300/400
= 0,75. Вы должны поместить каждый пиксель в 0.75 точки.
Но есть еще одна история, которую вы должны знать: Каждая точка - 1/72 дюйма. и сколько пикселей составляют 1 дюйм вопрос выбора.
Все изображения имеют свойство DPI: точек на дюйм. Он определяет количество пикселей для каждого дюйма изображения. Поэтому, если вы хотите преобразовать изображение 400px * 400px в изображение (скажем) 96 точек на дюйм, ваш коэффициент изменения будет 400/((72/96) * 400)
. 72 здесь для преобразования дюймов в точки.
Вы можете изменить размер picutre сначала с imagecopyresampled.
Я могу изменить размер изображения, но я не знаю, как конвертировать пиксели в точки, не зная, к чему настроена система пользователей. – maddogandnoriko
В чем проблема с использованием изображения? – MasterCassim
Если изображение меньше 300 точек, я не хочу изменять его размер. Если он больше, мне нужно изменить его размер. И все, что у меня есть, это пиксели, чтобы проверить это. Мне также может потребоваться изменить размер X или Y в зависимости от того, будет ли изображение выше или шире. Я вижу 96 dpi в функции изображения, должен ли я скрывать использование 96 точек на дюйм? Или это предположение, которое я не должен делать? – maddogandnoriko
Согласен, я объяснил это плохо. Я думаю, ваше первое предложение отвечает на мой вопрос. В моем первоначальном вопросе я не знал, что пользователь использовал 72dpi или 96dpi (или что-то еще). – maddogandnoriko
Я думаю, что это количество пикселей размером в дюйм - вопрос выбора. – maddogandnoriko
Вы правы, я редактировал. Но представьте себе мир, где один пиксель больше дюйма, тогда мы можем говорить о том, сколько дюймов составляет один пиксель. Почему нет? :) – Hossein