|
分類:[VB.NET/VB2005 以降]
使用言語:VB.NET
開発環境:VisualBasic 2010 Express
指定した範囲のデスクトップをキャプチャするソフトを作っているのですが、
#0d0b0cの色RGBで言えば 13,11,12の色が透明になります。
詳しく言うと、PNGで保存した場合は透過。
BMPで保存した場合は完全な黒色になるようです。
透明化(TransparencyKey)を設定していますが、
ControlDarkDarkを設定しているのでまた違う色のようです。
試しに透明化を何も設定しないで、ウィンドウの背景色を問題の色に設定してキャプチャーしたところ
完全に透明な画像が保存されました。
PictureBoxに表示する時には問題がないので保存するときに問題があるのかと考えていますが
解決方法がわかりません。
以下一部ソースを添付させていただきます。
Dim bmp As New Bitmap(Form1.Width - 16, Form1.Height - 64 - 23)
Dim g As Graphics = Graphics.FromImage(bmp) Color.Empty
g.CopyFromScreen(New Point(Form1.Location.X + 8, Form1.Location.Y + 56), New Point(0, 0), bmp.Size)
Dim appPath As String = System.AppDomain.CurrentDomain.BaseDirectory
Form4.PictureBox1.Image = bmp
Form4.PictureBox1.Image.Save(appPath + "img.png", Imaging.ImageFormat.Png)
よろしくお願いします。
|