[결과물]
캔버스에 정형돈을 찍어보세요~♡
MUTE는 쉬프트를 누르면서 마우스 왼쪽을 누르시면 됩니다. (자꾸 들으면 -ㅅ-…)
복구도 마찬가지!
소녀시대를 확대해 보세요!
확대는 마우스 왼쪽 축소는 쉬프트를 누르면서 마우스 왼쪽을 누르시면 됩니다.
MUTE는 버튼을 클릭해주세요.
[#M_[소스보기]|[소스닫기]|- 정형돈찍기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;namespace SilverBrush
{
public partial class Page : UserControl
{
public Boolean mute_value;
public Page()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(Page_Loaded);
}void Page_Loaded(object sender, RoutedEventArgs e)
{
this.KeyDown += new KeyEventHandler(Page_KeyDown);
this.KeyUp += new KeyEventHandler(Page_KeyUp);
this.MouseLeftButtonDown += new MouseButtonEventHandler(Page_MouseLeftButtonDown);
}void Page_KeyUp(object sender, KeyEventArgs e)
{
mute_value = false;
}void Page_KeyDown(object sender, KeyEventArgs e)
{
if ((int)e.Key == 4)
{
mute_value = true;
}
}void Page_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (mute_value == true)
{
testvod.IsMuted = true;
}
else
{
Jinsang jinsang = new Jinsang();jinsang.SetValue(Canvas.LeftProperty, e.GetPosition(this).X);
jinsang.SetValue(Canvas.TopProperty, e.GetPosition(this).Y);VideoBrush temp = new VideoBrush();
temp.SetSource(testvod);
temp.Stretch = Stretch.Fill;jinsang.jinsanglove.Fill = temp;
LayoutRoot.Children.Add(jinsang);
testvod.IsMuted = false;
}
}private void MediaElement_MediaEnded(object sender, RoutedEventArgs e)
{
testvod.Stop();
testvod.Play();
}
}
}
– gee확대경
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;namespace SilverVideoBrushMask
{
public partial class Page : UserControl
{
public double scale_value = 1.1;
public Page()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(Page_Loaded);
}
void Page_Loaded(object sender, RoutedEventArgs e)
{
geegee_wmv.IsMuted = true;
mute_text.Text = “UNMUTE”;this.KeyDown += new KeyEventHandler(Page_KeyDown);
this.KeyUp += new KeyEventHandler(Page_KeyUp);
this.MouseMove += new MouseEventHandler(Page_MouseMove);
this.MouseLeftButtonDown += new MouseButtonEventHandler(Page_MouseLeftButtonDown);
mute_text.MouseLeftButtonDown += new MouseButtonEventHandler(mute_text_MouseLeftButtonDown);
}void Page_KeyUp(object sender, KeyEventArgs e)
{
scale_value = 1.1;
}void Page_KeyDown(object sender, KeyEventArgs e)
{
if ((int)e.Key == 4)
{
scale_value = 0.9;
}
}void mute_text_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (geegee_wmv.IsMuted == true)
{
geegee_wmv.IsMuted = false;
mute_text.Text = “MUTE”;
}
else if (geegee_wmv.IsMuted == false)
{
mute_text.Text = “UNMUTE”;
geegee_wmv.IsMuted = true;
}
}void Page_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
scale.ScaleX *= scale_value;
scale.ScaleY *= scale_value;
}void Page_MouseMove(object sender, MouseEventArgs e)
{
myRound.SetValue(Canvas.LeftProperty, e.GetPosition(this).X);
myRound.SetValue(Canvas.TopProperty, e.GetPosition(this).Y);
geegee_wmv.SetValue(Canvas.LeftProperty, -e.GetPosition(this).X);
geegee_wmv.SetValue(Canvas.TopProperty, -e.GetPosition(this).Y);
}private void geegee_wmv_MediaEnded(object sender, RoutedEventArgs e)
{
geegee_wmv.Stop();
geegee_wmv.Play();
}
}
}
_M#]
은광초등학교(실버라잇스터디모임)에서 비디오브러시 배운 것을 응용한 정형돈찍기와 gee확대경입니다.
다분히 변태-_-.. 스러운 저의 취향이 들어있는 결과물인데요. 하하하… 좀 올리기 부끄럽네요 *-_-* 실버라이트의 비디오 브러시가 여러군데에 적용이 아~주 쉽게 된다는 것을 알 수 있어서 좋았습니다. (사실 소녀시대를 크게 볼 수 있어서 좋았습니다.) 비디오브러시로 일반 브러시처럼 손 쉽게 이용할 수 있는 부분이 참 좋네요. wmv인코딩 하는과정이 더 힘들었던 것 같습니다. 더 재미있는 것들로 다가가는 은광초등학교 2학기! 조금 더 나아가서 중학교까지 가보자구요! 교장선생님~ 열심히 할게요!
답글 남기기