| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Фон картинки под цвет формы |
| Автор: RWander 15.7.2007, 22:31 |
| Проблема в следующем: необходимо чтобы фон отображаемой картинки на форме был таким же цветом как и сама форма. В реалии фон картинки имеет белый цвет. спасибо! |
| Автор: Idsa 16.7.2007, 00:16 |
| RWander, например, можно использовать png-картинки, предварительно выставив прозрачный цвет. |
| Автор: RWander 16.7.2007, 09:05 | ||
не помагает.. пробавал и png- и bmp-изображения |
| Автор: mr.DUDA 16.7.2007, 09:48 | ||
Отнаследоваться от PictureBox:
И изменить тип контрола с PictureBox на PictureBox2. Должно помочь. |
| Автор: RWander 16.7.2007, 18:34 |
| mr.DUDA, опять спасибо!! |
| Автор: RWander 16.7.2007, 19:25 | ||||
Не помогло.. PS в SetStyle нужно еще указать второй параметр true, но все равно не работает |
| Автор: mr.DUDA 16.7.2007, 22:53 |
| Ну как же, у меня вот работает.. |
| Автор: RWander 17.7.2007, 18:55 |
| странно, почему же у меня то не работает?? может это в версии framework дело? У меня сейчас 2 стоит.. |
| Автор: RWander 18.7.2007, 14:36 | ||
| mr.DUDA, что-то я немного не понимаю.. Как так, ваш пример работает. Но я не пойму, фон изображения ведь не белый, а при загрузки видно только сам глобус.. Я попробовал отредактировать изображение: сделал фон белым цветом, при этом цвет фона так и остался белым.. Добавлено через 3 минуты и 4 секунды
не, такого чуда не устанавлевал.. |
| Автор: mr.DUDA 18.7.2007, 14:53 | ||
Объясню свой пример, может укажет на источник проблемы: - У формы, на которой лежит пикчербокс, красный бэкграунд - У пикчербокса стоит Transparent бэкграунд (в свойствах), а чтобы он реально работал - мы создали унаследованный PictureBox2 с указанием стиля SupportsTransparentBackground - Картинка должна иметь альфа-канал. Подойдёт PNG формат. Те пикселы, которые на картинке полностью прозрачные, будут прозрачными и на пикчербоксе, т.е. вместо них увидим фон формы. |
| Автор: RWander 18.7.2007, 18:40 |
вопрос немного не по теме: а как узнать альфа-канал данного изображения и как установить прозрачность отдельных пикселей? может c помощью PhotoShop или как-то еще? Я думал будет достаточно просто сделать фон картинки белым.. (в Delphi работало по крайней мере) |
| Автор: RWander 18.7.2007, 19:04 |
| разобрался.. mr.DUDA, спасибо! |