zoukankan      html  css  js  c++  java
  • 【WP7】照片与扩展性

     WP7运行编写照片扩展程序,让应用程序显示在相册中,应用程序把图片写入相册

    添加命名空间

      using Microsoft.Xna.Framework.Media;

    1、保存图片到CameraRoll

      MediaLibrary library = new MediaLibrary();         //用于访问媒体库
      BitmapImage bmp = (BitmapImage)image1.Source;    //获取Image空间的图片资源
        Uri uri = bmp.UriSource;
      StreamResourceInfo Sri = Application.GetResourceStream(uri);
      library.SavePicture("11.jpg", Sri.Stream);

    2、保存图片到Album

          MediaLibrary library = new MediaLibrary();      
          BitmapImage bmp = (BitmapImage)image1.Source;
          Uri uri = bmp.UriSource;
          StreamResourceInfo Sri = Application.GetResourceStream(uri);
          library.SavePictureToCameraRoll("11.jpg", Sri.Stream);

    3、连接扩展图片中心

    打开应用程序清单文件 WMAppManifest.xml 并紧接着 Tokens 元素后面添加以下代码作为 App 元素的子元素。这样,应用程序便能够从图片查看器中启动 

    <Extensions>
          <Extension ExtensionName="Photos_Extra_Hub" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" />
    </Extensions>

    4、连接扩展图片查看器

      -在程序清单中添加以下代码

    <Extensions>
          <Extension ExtensionName="Photos_Extra_Viewer" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" />
    </Extensions>

      -重写应用程序页面导航函数 OnNavigatedTo()

    View Code
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            IDictionary<string, string> queryStrings = this.NavigationContext.QueryString;
            if (queryStrings.ContainsKey("token"))
            {
                MediaLibrary library = new MediaLibrary();
                //获取图片信息
                Picture picture = library.GetPictureFromToken(queryStrings["token"]);
    
                BitmapImage bitmap = new BitmapImage();
                bitmap.CreateOptions = BitmapCreateOptions.None;
                bitmap.SetSource(picture.GetImage());
                
                //下面对图片做相应的操作
            }
        }

    5、连接扩展共享选取器

    操作与上面类似

    <Extensions>
          <Extension ExtensionName="Photos_Extra_Share" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" />
    </Extensions>

    同样重写 OnNavigatedTo() 函数

    View Code
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            IDictionary<string, string> queryStrings = this.NavigationContext.QueryString;
            if (queryStrings.ContainsKey("FileId"))
            {
                MediaLibrary library = new MediaLibrary();
                //获取图片信息
                Picture picture = library.GetPictureFromToken(queryStrings["FileId"]);
    
                BitmapImage bitmap = new BitmapImage();
                bitmap.CreateOptions = BitmapCreateOptions.None;
                bitmap.SetSource(picture.GetImage());
                
                //下面对图片做相应的操作
            }
        }
  • 相关阅读:
    IP应用加速技术详解:如何提升动静混合站点的访问速率?
    阿里云PolarDB发布重大更新 支持Oracle等数据库一键迁移上云
    BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览
    洛谷P1457 城堡 The Castle
    洛谷P1461 海明码 Hamming Codes
    洛谷P1460 健康的荷斯坦奶牛 Healthy Holsteins
    洛谷P1459 三值的排序 Sorting a Three-Valued Sequence
    洛谷P1458 顺序的分数 Ordered Fractions
    洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
    洛谷P1215 [USACO1.4]母亲的牛奶 Mother's Milk
  • 原文地址:https://www.cnblogs.com/bomo/p/2748329.html
Copyright © 2011-2022 走看看