Войти

Показать полную графическую версию : Рисование с#


Beyound
09-01-2011, 19:50
Здравствуйте, меня интересует такая тема. Скажем есть примеры что там собачка бегает по раб. столу и т.п. Меня интересует как чтонибудь такое-же реализовать. Изменение размеров окна под размер изображение - не катит ибо медленная операция особенно для сложных фигур. Особенно хотелось бы это под OpenGl (3D и 2D объекты) или хотябы DirectX. Желательно без прямого редактирования видеопамяти ибо не самый оптимальный метод на мой взгляд для C#, хотя если будет пример хотябы для одного полигона то сойдет и это.

Coutty
09-01-2011, 20:31
Вы думаете, что там нечто особо сложное? Я думаю - простой анимированный GIF, наложенный на прозрачную форму.
Что-то вроде этого (только у меня PNG использовался - без анимации, соответственно):

MainWindow.xaml:
<Window x:Class="TransparentWindow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" AllowsTransparency="True" WindowStyle="None">
</Window>

MainWindow.xaml.cs:
namespace TransparentWindow
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();

// 1.png - файл с прозрачностью
this.Background = new ImageBrush(new BitmapImage(new Uri("1.png", UriKind.Relative)));
}
}
}
А уж перемещать окно и подменять в нужные моменты файлы изображений - это сами напишете.

Beyound
10-01-2011, 20:15
а прозрачность такого рода над объектом OpenGl можно сделать? Ибо если скажем я включаю на форме TrancparancyKey (visual 2008 c#), а в этой форме находится объект OpenGl (я использую TAO framework) то он перестает прорисовываться как таковой - черный фон и все.

Delirium
11-01-2011, 00:59
Coutty, ты забыл уточнить, что твой пример написан на WPF, а не на простом C# :)




© OSzone.net 2001-2012