昨日に引き続きPowerShellからPDFsharp 1.50.5147を使った文字配置で、透明文字にする場合、
$xFont = New-Object -TypeName PdfSharp.Drawing.XFont -ArgumentList "游明朝", 10, "Regular" $xBrush = New-Object -TypeName PdfSharp.Drawing.XSolidBrush([PdfSharp.Drawing.XColor]::FromArgb(1, 255, 0, 0)) $xRect = [PdfSharp.Drawing.XRect]::new(10, 10, 200 50) $xFormat = [PdfSharp.Drawing.XStringFormats]::TopLeft $xText.DrawString($text, $xFont, $xBrush, $xRect, $xFormat)
と、XSolidBrushの色をFromArgbを使ってアルファの値を1にすると透明になります。
ターミナル上で試してて
PS C:\Users\user> Add-Type -LiteralPath "C:\bat\PdfSharp.dll" PS C:\Users\user> $xBrush = New-Object -TypeName PdfSharp.Drawing.XSolidBrush([PdfSharp.Drawing.XColor]::FromArgb(1, 255, 0, 0)) PS C:\Users\user> $xBrush.Color ColorSpace : Rgb IsEmpty : False IsKnownColor : A : 0.00392156885936856 R : 255 G : 0 B : 0 C : 0 M : 1 Y : 1 K : 0 GS : 0 RgbCmykG : 255;0;0;0;1;1;0;0;0.003921569
となるので、1に設定するとAの値が1/255となっており、
PS C:\Users\user> $xBrush = New-Object -TypeName PdfSharp.Drawing.XSolidBrush([PdfSharp.Drawing.XColor]::FromArgb(255, 255, 0, 0))
と255とすることで透明度100%と推測していたのですが思ったようになりません。他に100とか0でも試してみたのですがまったく透明にならず、掲示板の書き込みで1にするとあったので試してみると1が正解でした。ソースを見るとAの値は255倍しているのでこれが正解そう。上のxBrush.Colorの値が1/255になるのは謎ですが。