Разместить изображение в области PDF, математический вопрос - PullRequest
0 голосов
/ 21 февраля 2011

Уже поздно, и мой мозг не работает должным образом, так что ...

У меня есть изображение 244x175 пикселей, и я хочу масштабировать его, чтобы уместить в 125-мм области для PDF-файла.Я генерирую с помощью www.tcpdf.org.

Сколько мне нужно масштабировать, чтобы соответствовать правильно?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 21 февраля 2011

Хорошо.PDF использует точки.1 балл равен 1/72 дюйма.125 мм = 4,921 дюйма4,921 * 72 = 354,312 балла.Дробные точки - это просто отлично.

И похоже, что TCPDF отнимает большую часть работы, если только вы не сделаете серьезную копку, которую вам не нужно делать.

Согласно документации для Изображение , все, что вам нужно сделать, это указать размер, который вы хотите подогнать, и он пропорционально масштабирует другое:

// draw an image that is 125mm wide, and scaled to whatever height is needed
// to maintain the same proportions
TCPDF::image($path, $xloc, $yloc, 
             354.321, 0, ''/*no link*/,
             ''/*use path extension for type*/,
             true /*resize*/ ); // and let the rest default

Я никогда не использовал TCPDF (или PHP дляэто важно) я, но согласно документам, некоторые изменения в этом будут работать.

1 голос
/ 21 февраля 2011

Пиксели и мм не одинаковые единицы. PDF документы не работают в пикселях, поэтому это не имеет значения. Вы просто помещаете изображение в правильные координаты и указываете ширину в мм (у вас есть 125 мм, верно?)

Однако, если вы спрашиваете, как вписать его в определенное ограничение, например, где ширина И высота составляет 125 мм, это отчасти зависит от того, чего вы хотите достичь. Возможные результаты:

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

и , если нормально, что оно больше по ширине, вам нужно решить, хотите ли вы, чтобы ширина изображения смещала координаты X самого изображения, чтобы изображение центрировалось, или что-то еще .

и то же самое, если вы хотите, чтобы оно зависело от ограничений по ширине: ..

так что у вас есть несколько вариантов поведения этой вещи (если я вас правильно понимаю)

...