Silverlight开发历程—(利用C#代码制作取色器)
来源:互联网 发布:阿里云陕西公司地址 编辑:程序博客网 时间:2024/06/05 17:00
第一个例子是,利用C#代码绘制画刷,例子很简单直接上代码:
<StackPanel x:Name="LayoutRoot" Background="White" Orientation="Vertical"> <Ellipse x:Name="ellipse" Width="260" Height="260" Fill="GreenYellow"/> <TextBlock x:Name="txb_txb" FontSize="30" Text="使用C#绘制Brush" /> </StackPanel>
C#:
public partial class DrawBruseWithCSharp : UserControl { public DrawBruseWithCSharp() { InitializeComponent(); //绘制单色填充, ellipse.Stroke = new SolidColorBrush(Colors.Black); ellipse.StrokeThickness = 3; //绘制渐变填充 LinearGradientBrush lgb = new LinearGradientBrush(); lgb.GradientStops.Add(new GradientStop() { Color=Colors.Green, Offset=0}); lgb.GradientStops.Add(new GradientStop() { Color=Colors.Yellow,Offset=1}); txb_txb.Foreground = lgb; ellipse.Fill = lgb; } }
运行结果:
第二个例子。利用C#代码绘制取色器
XAML:
<Grid x:Name="LayoutRoot" Background="White"> <!-- 添加圆角边框--> <Border BorderBrush="Black" Margin="5" BorderThickness="3" Background="AliceBlue" CornerRadius="10"> <!--添加网络边矩--> <Grid Margin="5" ShowGridLines="False"> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <!--添加颜色滚动条--> <Slider x:Name="sliderR" Maximum="255" Value="255" Grid.Row="0" Grid.Column="1" /> <Slider x:Name="sliderG" Maximum="255" Value="255" Grid.Row="1" Grid.Column="1" /> <Slider x:Name="sliderB" Maximum="255" Value="255" Grid.Row="2" Grid.Column="1" /> <Slider x:Name="sliderA" Maximum="255" Value="255" Grid.Row="3" Grid.Column="1" /> <!--添加说明文字--> <TextBlock x:Name="txb_R" Text="R:" Width="50" Height="20" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top" /> <TextBlock x:Name="txb_G" Text="G:" Width="50" Height="20" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top" /> <TextBlock x:Name="txb_B" Text="B:" Width="50" Height="20" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top" /> <TextBlock x:Name="txb_A" Text="透明度:" Width="50" Height="20" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top" /> <!--显示颜色--> <Rectangle x:Name="rect" Fill="Green" Stroke="Black" Width="150" Height="120" Grid.Row="1" Grid.RowSpan="2" Grid.Column="0" /> <!--显示颜色值--> <TextBlock x:Name="txb_Color" Width="140" Height="26" Grid.Row="3" Grid.Column="0" /> <!--标题说明文字--> <TextBlock Text="色值" Grid.Row="3" Grid.Column="0" /> <TextBlock Text="Silverlight取色器" FontSize="20" Width="200" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" Height="30" /> </Grid> </Border> </Grid>
C#:
public partial class DrawGetColorControl : UserControl { public DrawGetColorControl() { InitializeComponent(); //设置颜色 setColor(); sliderA.ValueChanged += new RoutedPropertyChangedEventHandler<double>(SliderValueChanged); sliderB.ValueChanged += new RoutedPropertyChangedEventHandler<double>(SliderValueChanged); sliderR.ValueChanged += new RoutedPropertyChangedEventHandler<double>(SliderValueChanged); sliderG.ValueChanged += new RoutedPropertyChangedEventHandler<double>(SliderValueChanged); } void SliderValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { setColor(); } private void setColor() { SolidColorBrush scb = new SolidColorBrush( Color.FromArgb( (byte)sliderA.Value, (byte)sliderR.Value, (byte)sliderG.Value, (byte)sliderB.Value)); rect.Fill = scb; txb_Color.Text = scb.Color.ToString(); } }
运行结果:
- Silverlight开发历程—(利用C#代码制作取色器)
- Silverlight开发历程—C#代码添加动画
- Silverlight开发历程—(利用画刷制作星光特效)
- Silverlight开发历程—利用MatrixTransform特效制作3D盒子
- Silverlight开发历程—(用C#来绘制图形)
- Silverlight开发历程—(利用Image.OpacityMask做透明遮罩)
- Silverlight开发历程—(数据格式转换)
- Silverlight开发历程—(绘制报表)
- Silverlight开发历程—关键帧动画
- Silverlight开发历程—(布局控件-Canvas)
- Silverlight开发历程—(绘制矢量图之Line)
- Silverlight开发历程—(绘制矢量图之路径绘图)
- Silverlight开发历程—(绘制几合图形,GeometryGroup,PathGeometry)
- Silverlight开发历程—(绘制放射渐变图形)
- Silverlight开发历程—(Clip裁剪特效)
- Silverlight开发历程—3DEffects实现3D特效
- Silverlight开发历程—模糊特效与投影特效
- Silverlight开发历程—(绘制矢量图之路径绘图) .
- 什么是爱情
- wamp因端口错误打不开
- DSP开发问答
- 套接字 学习笔记二
- GLOBAL TEMPORARY TABLE
- Silverlight开发历程—(利用C#代码制作取色器)
- 和你说说程序员的那点事
- WNDCLASS结构详解
- oracle ora-12516 修改oracle最大进程数
- 研发中如何正确选择IC
- Linux操作中遇到的问题及解法(未完待续)
- 在Eclipse中配置tomcat
- [Android]attrs.xml文件中属性类型format值的格式
- linux下用通配符删除当前目录下包括子目录的相同文件