在Silverlight中如何获取图片的宽高
这几天又收集几个比较有用的Silverlight函数在这里共享给大家~
这次先给大家说说如何获取image的宽高~
首先我们在同步image控件的时候经常要使用一个bitmapimage对象(System.Windows.Media.Imaging;)
我们可以同步他的下载进度 当他完全下载成功后我们便可以开始获取 该图片的大小了.
还是先给大家share一下代码吧~
很显然我们要向canvas中添加一个image
<UserControl x:Class="Images_Dimensions_Silverlight.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="White">
<ContentControl x:Name="MyContent">
<Canvas x:Name="GameCanvas" ></Canvas>
</ContentControl>
</Grid>
</UserControl>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="White">
<ContentControl x:Name="MyContent">
<Canvas x:Name="GameCanvas" ></Canvas>
</ContentControl>
</Grid>
</UserControl>
接下来我们要怎么做呢?
1.创建一个image对象
2.绑定数据源
3.添加到canvas里面去
步骤下面我们来看看代码如何实现
private void LoadImage(string path)
{
Uri uri = new Uri(path, UriKind.Relative);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.UriSource = uri;
grass = new Image();
grass.Source = bitmapImage;
GameCanvas.Children.Add(grass);
}
{
Uri uri = new Uri(path, UriKind.Relative);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.UriSource = uri;
grass = new Image();
grass.Source = bitmapImage;
GameCanvas.Children.Add(grass);
}
这个过程大家可能已经是在熟悉不过了,我们只需要在对他稍加修改使用bitmapimage的DownloadProgress事件
bitmapImage.DownloadProgress += new EventHandler<DownloadProgressEventArgs>(bitmapImage_DownloadProgress);
下面我们看看我们如何处理这个事件的
Code
呵呵~ 又是一个简单的demo 相信对大家有所帮助 下次我会给大家说说怎么获取 Silverlight的邮件点击事件~