function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream。素の JPEG 圧縮データを含むストリーム。このメソッドを呼び出すとき、ストリーム位置は JPEG データの先頭にある必要があります |
True を返します。ストリームに有効な JPEG データが含まれない場合や埋め込み操作が失敗した場合は False を返しますAddJpegImage は、素のバイトストリームとして与えられた JPEG 画像を現在の PDF ページに埋め込みます。JPEG データは再エンコードされずにそのまま渡されるため、画質はソースストリームに保存されている通り完全に保たれます。このため、画像のデコードと再圧縮が不要な画質劣化や CPU オーバーヘッドをもたらす大量ドキュメント生成に適したメソッドです
JpegImage ストリームには、SOI マーカーから始まる完全で有効な JPEG ファイルが含まれている必要があります。このメソッドを呼び出す前に、ストリームの現在位置を JPEG データの先頭に合わせてください。任意の TStream の下位クラスを受け付けます。TFileStream、TMemoryStream、データベースの blob ストリームなどが使用できます
X と Y は、配置矩形の左下コーナーを PDF ユーザー単位で指定します (原点はページ左下、Y は上向きに増加します)。Width と Height がページ上の描画サイズを設定し、JPEG はピクセル寸法に関係なくこのサイズに合わせて拡大縮小されます
このメソッドは成功すると True を返します。ストリームに有効な JPEG データが含まれない場合は、例外を発生させずに False を返します。出所が不明なデータを扱うときは、戻り値を確認してください
var
Stream: TFileStream;
begin
Stream := TFileStream.Create('C:\Images\photo.jpg', fmOpenRead or fmShareDenyNone);
try
Pdf1.NewPage(595, 842);
if not Pdf1.AddJpegImage(Stream, 72, 400, 300, 225) then
ShowMessage('Failed to embed JPEG image.');
finally
Stream.Free;
end;
end;