我如何采取截图全 [英] How can I take a screenshot full

查看:121
本文介绍了我如何采取截图全的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有10多项的列表框,我写的代码截图它在Windows Phone 8和共享,但它只是需要在屏幕上(3项)不完全列表框中展出的一切。我如何采取截图全Lisbox?这是我的代码。

  VAR BMP =新的WriteableBitmap的(lbxDays,新TranslateTransform()); 
VAR宽度=(INT)bmp.PixelWidth;
VAR HEIGHT =(INT)bmp.PixelHeight;
bmp.Render(lbxDays,新TranslateTransform());
使用(VAR毫秒=新的MemoryStream())
{
bmp.SaveJpeg(MS,宽度,高度,0,100);
ms.Seek(0,System.IO.SeekOrigin.Begin);
变种LIB =新MediaLibrary();
VAR dateStr = DateTime.Now.Ticks;
VAR图片= lib.SavePicture(的String.Format(屏幕截图+ dateStr +),MSJPG);
变种任务=新ShareMediaTask();
task.FilePath = picture.GetPath();
task.Show();
}


解决方案

尝试采取快照这段代码你的控制。传递的UIElement到您想要这个方法。希望这将解决您的问题。



 私人WriteableBitmap的RenderControlAsImage(的UIElement元素)
{
element.UpdateLayout( );
element.Measure(新尺寸(element.Width,element.Height));
element.Arrange(新的Rect(0,0,element.Width,element.Height));
返回新的WriteableBitmap的(元素,NULL);
}


I have a listbox with more 10 item, and I write a code to screenshot it on Windows Phone 8 and sharing, but it just take everything on display on screen (3 item) not full listbox. How can I take a screenshot full Lisbox? This is my code.

var bmp = new WriteableBitmap(lbxDays, new TranslateTransform());
var width = (int)bmp.PixelWidth;
var height = (int)bmp.PixelHeight;
bmp.Render(lbxDays, new TranslateTransform());
using (var ms = new MemoryStream())
{
    bmp.SaveJpeg(ms, width, height, 0, 100);
    ms.Seek(0, System.IO.SeekOrigin.Begin);
    var lib = new MediaLibrary();
    var dateStr = DateTime.Now.Ticks;
    var picture = lib.SavePicture(string.Format("screenshot"+dateStr+".jpg"), ms);
    var task = new ShareMediaTask();
    task.FilePath = picture.GetPath();
    task.Show();
}

解决方案

Try this code for taking snapshot of your control. Pass the UIElement to this method in which you want. Hope this will solve your issue

private WriteableBitmap RenderControlAsImage(UIElement element)
{
    element.UpdateLayout();
    element.Measure(new Size(element.Width, element.Height));
    element.Arrange(new Rect(0, 0, element.Width, element.Height));
    return new WriteableBitmap(element, null);
}

这篇关于我如何采取截图全的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆