Я разрабатываю программу, которая использует функции панели задач Windows 7 (и Vista). Прямо сейчас у меня есть настраиваемое растровое изображение, которое будет отображаться на миниатюре панели задач. Растровое изображение создается программно и успешно отображается. Единственная «проблема», с которой я столкнулся, заключается в том, что я хочу использовать в этом изображении прозрачный, который также должен отображаться прозрачным на миниатюре. Но безуспешно, в результате получился стандартный светло-серый цвет.
Я видел доказательства того, что программы успешно становятся прозрачными на своих изображениях:
- http://blog.miranda.or.at/wp-content/uploads/2010/05/taskbar.png
- http://www.addictivetips.com/wp-content/uploads/2010/04/TaskbarRSS.png
- http://www.addictivetips.com/wp-content/uploads/2009/10/Thumbnail1.png
Теперь у меня вопрос: как сделать мое миниатюрное изображение прозрачным?
Я заполню изображение классом Graphics
, поэтому разрешено все, что угодно.
Следует упомянуть, что я использую Windows® API Code Pack, который использует GetHbitmap
для установки изображения в качестве эскиза.
РЕДАКТИРОВАТЬ:
Вот код, который я использую atm:
Bitmap bmp = new Bitmap(197, 119);
Graphics g = Graphics.FromImage(bmp);
g.FillRectangle(new SolidBrush(Color.Red), new Rectangle(0, 0, bmp.Width, bmp.Height)); // Transparent is actually light-gray;
g.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
g.DrawString("Information:", fontHeader, brush, new PointF(5, 5));
bmp.MakeTransparent(Color.Red);
return bmp;
bmp.MakeTransparent
почти наверняка неправильный способ сделать это. - person Cody Gray   schedule 27.02.2011