###前提・実現したいこと
VB.NETにて文字と画像を含む帳票をPDF出力するプログラムを組んでいます。
帳票に使う画像ファイルはPNG画像ファイルをVB.NET上で合成して一度ローカルにPNG画像として
保存したものをSVFにてPDF出力しています。
###発生している問題・エラーメッセージ
出力結果のPDFに表示されているPNG画像の透過部分と思われる場所が黒くなってしまいます。
透過部分が黒くなるのを回避するために、合成後の画像ファイルをJPEG形式で保存して回避しようと
考えているのですが、JPEG保存した時点で背景が黒くなってしまいます。
JPEG保存時に透過部分を白として保存する方法、またはPNG形式のままの透過部分を白として
保存する方法はありますでしょうか。
画像を合成して保存しているコードは下記の通りです。
###ソースコード
VB.NET
1'画像合成プロシージャ 2Private Sub graphicChange() 3 4 '背景画像の取り込み 5 Dim baseImage As Image = New Bitmap("背景となる白い画像.png") 6 Dim wirePic As Graphics = Graphics.FromImage(baseImage) 7 8 '画像1書き込み 9 Dim wireImage As Image = New Bitmap("合成する画像1.png") 10 wirePic.DrawImage(wireImage, New Rectangle(New Point(0, 0), wireImage.Size) _ 11 , 0, 0, wireImage.Width, wireImage.Height, GraphicsUnit.Pixel) 12 wireImage.Dispose() 13 14 '画像2書き込み 15 Dim ringImage As Image = New Bitmap("合成する画像2.png") 16 wirePic.DrawImage(ringImage, New Rectangle(New Point(0, 0), ringImage.Size) _ 17 , 0, 0, ringImage.Width, ringImage.Height, GraphicsUnit.Pixel) 18 ringImage.Dispose() 19 20 '画像3書き込み 21 Dim hookImage As Image = New Bitmap("合成する画像3.png") 22 wirePic.DrawImage(hookImage, New Rectangle(New Point(0, 0), hookImage.Size) _ 23 , 0, 0, hookImage.Width, hookImage.Height, GraphicsUnit.Pixel) 24 hookImage.Dispose() 25 26 'PictureBox(picWire)に表示 27 picWire.Image = baseImage 28 picWire.Invalidate() 29 wirePic.Dispose() 30 31End Sub 32 33'画像保存プロシージャ 34Private Sub pngSave() 35 36 'PictureBox(picWire)の表示イメージを保存 37 picWire.Image.Save("ローカル保存ファイル.png" _ 38 , System.Drawing.Imaging.ImageFormat.Png) 39 40End Sub 41
###補足情報(言語/FW/ツール等のバージョンなど)
開発環境
OS:windows7 pro 64bit
CPU:CORE i5
メモリ:4G
使用ツール
Visual Studio 2013(VS Express 2013 for Desktop)
対象のフレームワーク:.NET Framework 3.5
SVF Java PRODUCTS 9.1

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/12 04:39