Silverlight:如何动态绘制图像?

时间:2010-02-19 04:33:44

标签: c# image silverlight-2.0

s.jpg使用BuildAction == Resource。添加到解决方案中。

XAML

<UserControl x:Class=...>
    <Canvas x:Name="LayoutRoot">            
    </Canvas>
</UserControl>

CS

Image Model = new Image(); 
Model.Source = new BitmapImage(new Uri("/s.jpg", UriKind.Relative)); 
LayoutRoot.SetLeft(Model, Coor.X); 
LayoutRoot.SetTop(Model, Coor.Y); 
Model.Width = 50; 
Model.Height = 30; 
LayoutRoot.Children.Add(Model);

这是我的问题:是我的形象吗?它没有出现在屏幕上,但如果我将XAML更改为

<UserControl x:Class=...>
    <Canvas x:Name="LayoutRoot">
        <Image Source="s.jpg"></Image>
    </Canvas>
</UserControl>

你可以看到它,如果将CS更改为

Ellipse Model = new Ellipse(); 
Model.Fill = new SolidColorBrush(Colors.Gray);
Model.Stroke = new SolidColorBrush(Colors.Blue); 
LayoutRoot.SetLeft(Model, Coor.X); 
LayoutRoot.SetTop(Model, Coor.Y); 
Model.Width = 50; 
Model.Height = 30; 
LayoutRoot.Children.Add(Model);

我会看到椭圆形。那有什么问题?

1 个答案:

答案 0 :(得分:0)

尝试:

ImageSource imgSrc = new BitmapImage(new Uri(“http://server/path/s.jpg”,UriKind.RelativeOrAbsolute));

LayoutRoot.Children.Add(IMGSRC); LayoutRoot.UpdateLayout();