| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Как сделать прозрачной png ? |
| Автор: DenWPF 12.3.2011, 17:02 |
| у меня есть png картинка мяча, нужно 2 такие картинки вывести и сделать их прозрачными, не только с задним фоном, но и друг с другом тоже... |
| Автор: jonie 12.3.2011, 18:22 |
| http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx |
| Автор: DenWPF 13.3.2011, 00:34 |
| а без использования win api можно? |
| Автор: -Mikle- 13.3.2011, 09:18 |
| В приведенной ссылке там было немного другое, там саму форму делали с полупрозрачными пикселями (до выхода WPF это было единственный способ). Если сама картинка у вас с полупрозрачностью, то просто рисуйте их в графикс через graphics.DrawImage, он поддерживает полупрозрачность для PNG. |
| Автор: DenWPF 13.3.2011, 13:31 |
| Спасибо!!! от я переопределял PictureBox и IButtonControl и потом ещё их просто добавлял на форму. все таки мне нужно сделать елемент который сам себя бы отрисововал и были стандартые свойства от control я пытался наследоваться от Contol но когда я его добавляю на форму он становить просто черным квадратом...как сделать что бы он был прозрачный ? |
| Автор: -Mikle- 13.3.2011, 19:25 |
| На вин-формсах, насколько я знаю, в контроле можно только нарисовать бэкграунд родителя, но если под "прозрачным" контролом будет другой контрол, то он не нарисуется, так как не является фоном. Есть еще флаги у контрола, среди которых есть что-то с прозрачностью контрола связано, но сам никогда не использовал и не знаю, поможет ли это. А почему бы не сделать классы представляющие графический элемент? Сколько вам там возможностей надо от стандартного тяжелого контрола? Может имеет смысл все таки выделить в класс и сделать один контрол, который умеет отображать коллекцию этих классов. Добавлено через 1 минуту и 49 секунд А еще лучше, делать на WPF, если такая возможность имеется. |