在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>

接下来我们要怎么做呢?

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);
        }

这个过程大家可能已经是在熟悉不过了,我们只需要在对他稍加修改使用bitmapimage的DownloadProgress事件

bitmapImage.DownloadProgress += new EventHandler<DownloadProgressEventArgs>(bitmapImage_DownloadProgress);

 下面我们看看我们如何处理这个事件的

Code
呵呵~ 又是一个简单的demo 相信对大家有所帮助 下次我会给大家说说怎么获取 Silverlight的邮件点击事件~
原文地址:https://www.cnblogs.com/sonic1abc/p/1256218.html