Pdf for UWP
画像の追加
C1PDFの使い方 > 画像の追加

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 ファイルに保存されます。