zoukankan      html  css  js  c++  java
  • WP7学习笔记(一)BitmapImage转化为WriteableBitmap

    今天写代码的时候,遇到需要将BitmapImage转化为WriteableBitmap,自己果断写下如下代码。结果调试的时候每次都报错。

    BitmapImage bitmapImage = new BitmapImage(new Uri("/images/test.png",UriKind.Relative));
    WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage);

    自己尝试设置图片的属性,无论是resource还是content也都不行,地址也是绝对相对都换过,还是不行。

    最后google到发现bitmapImage原来是异步加载图片,也就说我创建writeablebitmap的时候bitmapimage还没有加载完成,所以报错。

    于是就有了

                ///do something...
                Uri url = new Uri("/Img/1.png", UriKind.Relative);
                BitmapImage bitmapImage = new BitmapImage();
                bitmapImage.CreateOptions = BitmapCreateOptions.None;
                bitmapImage.ImageOpened += bitmapImage_ImageOpened;
                bitmapImage.UriSource = url;
                bitmapImage.ImageFailed += bitmapImage_ImageFailed;
    }
    
     void bitmapImage_ImageOpened(object sender, RoutedEventArgs e)
            {
                WriteableBitmap wb = new WriteableBitmap(sender as BitmapImage);
                ///do something...
            }

    当然也可以这么写:

    Uri url = new Uri("/Img/1.png", UriKind.Relative);
    BitmapImage bitmapImage = new BitmapImage();
    bitmapImage.CreateOptions = BitmapCreateOptions.None;
    bitmapImage.ImageOpened +=(o,args)=>
    {
    WriteableBitmap wb = new WriteableBitmap(o as BitmapImage);
    ///do something ...
    };
    bitmapImage.UriSource
    = url;
  • 相关阅读:
    EOF:getchar()函数返回的一个特殊值
    elementUI的el-select使用filterable无效
    element table单元格相关的样式
    关于前端权限的一点想法--续
    IE浏览器与PDF文件
    vue form表单数据无法修改
    computed数据变动,table加载不全
    vue插件开发(本地使用)
    element table
    对象删除(消耗时间验证)
  • 原文地址:https://www.cnblogs.com/jecofang/p/2566537.html
Copyright © 2011-2022 走看看