【PHP】tFPDFで画像サイズの変更

プログラム

tFPDFでの画像サイズの変更について簡単に紹介。

画像サイズに関する知識

サイズの変更が無い場合、下記のコードを記入します。

$pdf->Image("参照ファイルのフルパス", Xの座標, Yの座標);

サイズの変更がある場合、下記のコードを記入します。

$pdf->Image("参照ファイルのフルパス", Xの座標, Yの座標, 横幅, 縦幅);

◆座標、幅の単位は最初にtFPDFの変数を定義するところで決定されます。

$pdf = new tFPDF('P', 'mm', 'A4');

上記のコードの場合、真ん中の引数が”mm” = ミリメーターとなっています。その為、座標、幅の単位もミリメーターとなります。

PDF上に表示する画像サイズが決まっている時の対処

下記のコードの場合、画像のアスペクト比が維持されません。

$pdf->Image("参照ファイルのフルパス", Xの座標, Yの座標, 横幅, 縦幅);

PDF上に表示する画像サイズが決まっている場合、アスペクト比を維持したいですよね。その場合の対処するコードを紹介します。

以下が、PDF上で50mm x 50mm以内の大きさに変更した画像とサイズ変更なしのコードになります。

<?php

require_once('./../tfpdf/tfpdf.php');

$pdf = new tFPDF('P', 'mm', 'A4');
$pdf->SetLeftMargin(10);
$pdf->AddPage();

$filename = "animal.png"; //表示する画像

// 表示させたい大きさ
$width = 50;
$height = 50;

list($origin_width, $origin_height) = getimagesize($filename);

if($origin_width > $origin_height) {
 $height = $origin_height * $width / $origin_width;
}else{
    $width = $origin_width * $height / $origin_height;
}


$pdf->Image($filename, 0, 0, $width, $height);

$pdf->Image($filename, 0, 60);

$pdf->Output();

出力結果は下記になります。

 

プログラム
スポンサーリンク
シェアする
フォローする

コメント

タイトルとURLをコピーしました