PDF for UWP ドキュメントには画像も簡単に追加できます。すべての作業が C1PdfDocument.DrawImage メソッドによって処理されます。
C1PdfDocument.DrawImage は、指定された画像を指定された位置に描画し、パラメータで画像の配置とスケーリングを制御できます。次の例では、この画像は次のようになります。
このコードを使用すると、同じ画像が3回描画されます。
| Visual Basic |
コードのコピー
|
|---|---|
Dim rect As Rect = pdf.PageRectangle rect = PdfUtils.Inflate(rect, -150, -150) Dim ras As New InMemoryRandomAccessStream() ' 書き込みが可能なビットマップでイメージをロードします。 Dim wb As New WriteableBitmap(880, 660) Dim ProjectFolder = Windows.ApplicationModel.Package.Current.InstalledLocation Dim file As StorageFile = Await ProjectFolder.GetFileAsync("image.jpg") wb.SetSource(Await file.OpenReadAsync()) Dim rcPic As New Rect(New Point(0, 0), New Point(pdf.PageSize.Width, pdf.PageSize.Height)) ' アスペクト比を維持したままページに描画します。 pdf.DrawImage(wb, rect, ContentAlignment.MiddleCenter, Stretch.Uniform) |
|
| C# |
コードのコピー
|
|---|---|
Rect rect = pdf.PageRectangle; rect = PdfUtils.Inflate(rect, -150, -150); InMemoryRandomAccessStream ras = new InMemoryRandomAccessStream(); // 書き込みが可能なビットマップでイメージをロードします。 WriteableBitmap wb = new WriteableBitmap(880, 660); var ProjectFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; StorageFile file = await ProjectFolder.GetFileAsync("image.jpg"); wb.SetSource(await file.OpenReadAsync()); Rect rcPic = new Rect(new Point(0, 0), new Point(pdf.PageSize.Width, pdf.PageSize.Height)); // アスペクト比を維持したままページに描画します。 pdf.DrawImage(wb, rect, ContentAlignment.MiddleCenter, Stretch.Uniform); |
|
PDF ドキュメントは次のように表示されます。

メタファイルを含む通常の .NET Image オブジェクトもレンダリングできます。メタファイルはビットマップに変換されず、ドキュメント内で再生されるため、最適な解像度が維持されます。チャートや技術的な図面を PDF ドキュメントに追加する場合は、ビットマップではなくメタファイルの方が適しています。
ビットマップ画像は、PDF for UWP によって自動的に管理されます。同じ画像を(たとえば、ページヘッダーで)複数回レンダリングしても、画像の1つのコピーのみが PDF ファイルに保存されます。