这几天项目是遇到一个需求,需要后台把几个元素生成到一张图片上,并保存到文件中

 private void cutscreen_Click(object sender, EventArgs e)
{
Grid contentGrid = new Grid()
{
Width = ,
Background = new SolidColorBrush(Colors.White)
};
RowDefinition row1 = new RowDefinition();
RowDefinition row2 = new RowDefinition(); contentGrid.RowDefinitions.Add(row1);
contentGrid.RowDefinitions.Add(row2); Image ShowImg = new Image()
{
Source = new BitmapImage(new Uri("/Assets/Kelly-Clarkson.jpg", UriKind.Relative))
}; Grid.SetRow(ShowImg, );
contentGrid.Children.Add(ShowImg); TextBlock ShowIntrotbk = new TextBlock()
{
Text = "我要把你和图片连接在一起",
FontSize = ,
TextWrapping = TextWrapping.Wrap
}; Grid.SetRow(ShowIntrotbk, );
contentGrid.Children.Add(ShowIntrotbk); SaveImage(contentGrid);
} private void SaveImage(UIElement _cutimgPanel)
{
WriteableBitmap wrbitmap = new WriteableBitmap(_cutimgPanel, null); using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream fileStream = storage.CreateFile("CutPanel.jpg"))
{
wrbitmap.SaveJpeg(fileStream, (int)_cutimgPanel.DesiredSize.Width, (int)_cutimgPanel.DesiredSize.Height, , );
MessageBox.Show("生成成功!");
}
}
}

这样居然有异常了

原来 获得的 Width和Height都是0,上面已经指定了宽度,但是依然没有获得

这时把生成的Grid添加的页面上,居然正常显示了(为了和下一张区分,我加了一个TextBox)

这就说明生成成功能,可为什么会报错呢?

原来,windows phone如果控件不在界面上显示时,是不会计算其布局大小的,所以没有宽度和高度的,那我们就手动计算一下呗,在后面添加完以下代码

contentGrid.Measure(new Size(, ));//这时重新计算一下,这个高度是没有效果的最好超过你所有控件的加起来的高度
contentGrid.Arrange(new Rect(, , (int)contentGrid.DesiredSize.Width, (int)contentGrid.DesiredSize.Height));

完工了,这样我们就可以在后台拼接任意图片了

Windows Phone 使用 WriteableBitmap后台生成图片的更多相关文章

  1. highcharts 结合phantomjs纯后台生成图片系列二之php2

    上篇文章中介绍了phantomjs的使用场景,方法. 本篇文章详细介绍使用php,highcharts 结合phantomjs纯后台生成图片.包含一步步详细的php代码 一.highcharts 结合 ...

  2. highcharts 结合phantomjs纯后台生成图片系列二之php

    上篇文章中介绍了phantomjs的使用场景,方法.本篇文章详细介绍使用php,highcharts 结合phantomjs纯后台生成图片. 一.准备: 下载phantomjs解析插件,从 highc ...

  3. highcharts 结合phantomjs纯后台生成图片

    highcharts 结合phantomjs纯后台生成图片 highcharts 这个图表展示插件我想大家应该都知道,纯javascript编写,相比那些flash图表插件有很大的优势,至少浏览器不用 ...

  4. 背水一战 Windows 10 (120) - 后台任务: 后台上传任务

    [源码下载] 背水一战 Windows 10 (120) - 后台任务: 后台上传任务 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 后台上传任务 示例演示 uwp 的后台上 ...

  5. 背水一战 Windows 10 (119) - 后台任务: 后台下载任务(任务分组,组完成后触发后台任务)

    [源码下载] 背水一战 Windows 10 (119) - 后台任务: 后台下载任务(任务分组,组完成后触发后台任务) 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 后台下 ...

  6. 背水一战 Windows 10 (118) - 后台任务: 后台下载任务(任务分组,并行或串行执行,组完成后通知)

    [源码下载] 背水一战 Windows 10 (118) - 后台任务: 后台下载任务(任务分组,并行或串行执行,组完成后通知) 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 ...

  7. 背水一战 Windows 10 (117) - 后台任务: 后台下载任务

    [源码下载] 背水一战 Windows 10 (117) - 后台任务: 后台下载任务 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 后台下载任务 示例演示 uwp 的后台下 ...

  8. Windows Phone background Audio 后台音频

    Windows Phone 后台音频的确不是什么新鲜的话题了,但发现目前在WP平台的音频播放应用多多少少会有一些瑕疵,所以在此给大家在此介绍下这个功能给有需要的朋友们. 首先介绍下我们的应用在后台播放 ...

  9. Windows Redis 开机启动后台运行

    1. 从 Redis 的安装目录进入 cmd 2. 在 cmd 中输入, 将Redis绑定为 Windows 服务, 并设置为后台启动: redis-server --service-install ...

随机推荐

  1. 【HDOJ】2444 The Accomodation of Students

    图论的题目.着色原理+二分图匹配. #include <cstdio> #include <cstring> #define MAXN 205 char map[MAXN][M ...

  2. (转载)mysql中百万级数据插入速度测试

    (转载)http://www.111cn.net/database/mysql/42453.htm 100W的数据对于很多朋友来说算小菜了,但今天我就想到创建一个大量数据的测试环境,于是找了一下怎么插 ...

  3. 数学(快速数论变换):SDOI2015 序列统计

    [题目描述] 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S. 小C用这个生成器生成了许多这样的数列.但是小C有 ...

  4. Delphi NativeXml用法攻略

    NativeXml用法攻略 NativeXml可以在官网上下载,下载后将文件夹放在指定地方,打开DELPHI在其环境变量中引用NativeXml路径,然后在程序中引用NativeXml单元,我们就可以 ...

  5. arcgis安装问题SDK开始安装不了

    arcgis安装问题SDK开始安装不了,提示安装Desktop10,安装Desktop10又提示装dotnetfx3.5sp1,最后其实不用这样,可以先把军事扩展包,补丁,安装好,再安装sdk就没有问 ...

  6. CodeForces 588B

    题目链接 : http://codeforces.com/problemset/problem/588/B 题目大意: 这个题目的意思就是找出一个数中的因子,这个因子满足以下条件: 1.此数的因子没有 ...

  7. [Locked] Strobogrammatic Number & Strobogrammatic Number II & Strobogrammatic Number III

    Strobogrammatic Number A strobogrammatic number is a number that looks the same when rotated 180 deg ...

  8. Codeforces Round #263 (Div. 1) C. Appleman and a Sheet of Paper 树状数组暴力更新

    C. Appleman and a Sheet of Paper   Appleman has a very big sheet of paper. This sheet has a form of ...

  9. 《程序设计中的组合数学》——polya计数

    我们在高中的组合数学中常常会碰到有关涂色的问题,例如:用红蓝两种颜色给正方形的四个顶点涂色,会有几种不同的方案.在当时,我们下意识的认为,正方形的四个顶点是各不相同的,即正方形是固定的.而实际上我们知 ...

  10. struts2原理架构图

    struts2 原理架构图