ImageTransparency.vb
''
'' このコードは、DioDocs for PDF のサンプルの一部として提供されています。
'' © MESCIUS inc. All rights reserved.
''
Imports System.IO
Imports System.Drawing
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Text
Imports GrapeCity.Documents.Drawing
Imports GCTEXT = GrapeCity.Documents.Text
Imports GCDRAW = GrapeCity.Documents.Drawing
'' このサンプルは、特定の透明度(不透明度)を使用して画像を描画できることを示します。
Public Class ImageTransparency
Function CreatePDF(ByVal stream As Stream) As Integer
Dim doc = New GcPdfDocument()
Dim page = doc.NewPage()
Dim g = page.Graphics
Dim rc = Util.AddNote(
"GcPdfGraphics.DrawImage() メソッドは、指定された不透明度で画像をレンダリングすることを" +
"可能にします。下の図は、不透明度0.2(ほぼ透明)、0.5(中程度の透明度)、1(不透明度)を" +
"使用して画像を描画したランダムなテキストです。",
page)
Dim tl = g.CreateTextLayout()
tl.DefaultFormat.Font = StandardFonts.Times
tl.DefaultFormat.FontSize = 12
tl.MaxWidth = page.Size.Width
tl.MaxHeight = page.Size.Height
tl.MarginAll = 36
tl.MarginTop += rc.Bottom
tl.Append(Util.getString_ja(1, 0, 20))
tl.PerformLayout(True)
g.DrawTextLayout(tl, PointF.Empty)
Using img As GCDRAW.Image = GCDRAW.Image.FromFile(Path.Combine("Resources", "Images", "puffins.jpg"))
Dim imageRc = New RectangleF(tl.MarginLeft, tl.MarginTop, 144, 144)
'' 不透明度 0.2。
g.DrawImage(img, imageRc, Nothing, ImageAlign.ScaleImage, 0.2F)
imageRc.Offset(imageRc.Width + 36, 0)
'' 不透明度 0.5。
g.DrawImage(img, imageRc, Nothing, ImageAlign.ScaleImage, 0.5F)
imageRc.Offset(imageRc.Width + 36, 0)
'' 不透明度 1(デフォルト)。
g.DrawImage(img, imageRc, Nothing, ImageAlign.ScaleImage)
'' 注意: 使用された画像を破棄する前にドキュメントを保存する必要があります。
doc.Save(stream)
End Using
Return doc.Pages.Count
End Function
End Class