PDF for WPFドキュメントには画像も簡単に追加できます。すべての作業が C1PdfDocument.DrawImage メソッドによって処理されます。
C1PdfDocument.DrawImage は、指定された画像を指定された位置に描画し、パラメータで画像の配置とスケーリングを制御できます。次の例では、この画像は次のようになります。
このコードを使用すると、同じ画像が3回描画されます。
Visual Basic でコードを書く場合
| Visual Basic |
コードのコピー
|
|---|---|
Dim rect As Rect = pdf.PageRectangle rect.Inflate(-150, -150) Dim fs As Stream = File.Open("..\..\image.jpg", FileMode.Open) ' 書き込み可能なビットマップでイメージを書き込みます。 Dim bi As New BitmapImage() bi.BeginInit() bi.StreamSource = fs bi.EndInit() Dim wb = New WriteableBitmap(bi) ' 画像を四角形内の中心に配置し、アスペクト比を維持したままスケーリングします。 pdf.DrawImage(wb, rect, ContentAlignment.MiddleCenter, Stretch.Uniform) |
|
C# でコードを書く場合
| C# |
コードのコピー
|
|---|---|
Rect rect = pdf.PageRectangle;
rect.Inflate(-150, -150);
Stream fs = File.Open(@"..\..\image.jpg", FileMode.Open);
// 書き込み可能なビットマップでイメージを書き込みます。
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = fs;
bi.EndInit();
var wb = new WriteableBitmap(bi);
// 画像を四角形内の中心に配置し、アスペクト比を維持したままスケーリングします。
pdf.DrawImage(wb, rect, ContentAlignment.MiddleCenter, Stretch.Uniform);
|
|
Rect rect = pdf.PageRectangle();
rect.Inflate(-72, -72);
//画像を四角形と同じ大きさに引き伸ばします。
pdf.DrawImage(pictureBox1.Image, rect);
//画像を四角形内の中心に配置し、アスペクト比を維持したままスケーリングします。
pdf.DrawImage(pictureBox1.Image, rect, ContentAlignment.MiddleCenter, C1.WPF.Pdf.ImageSizeModeEnum.Scale);
//画像を四角形の左上隅にレンダリングします。
pdf.DrawImage(pictureBox1.Image, rect, ContentAlignment.TopLeft, 1.C1Pdf.ImageSizeModeEnum.Clip);
PDF ドキュメントは次のように表示されます。

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