如何從代碼獲取屏幕截圖?WP7:從應用程序獲取屏幕截圖
2
A
回答
2
檢查here,它似乎可能在模擬器上。
0
你不能害怕。如果你想截圖,你需要使用剪切工具之類的東西在外面做。
4
使用WriteableBitmap
從應用程序代碼中截取應用程序的截圖非常簡單。 Laurent Bugnion在這裏寫得很好:http://geekswithblogs.net/lbugnion/archive/2010/12/28/taking-a-screenshot-from-within-a-silverlight-wp7-application.aspx
1
下面是如何從你的應用程序截取頁面代碼中的截圖並將其保存到手機的圖片庫。請注意,這不會捕獲SysTray或AppBar:
WriteableBitmap w = new System.Windows.Media.Imaging.WriteableBitmap(this, null); // 'this' is your current page
WriteableBitmap w2 = new System.Windows.Media.Imaging.WriteableBitmap(480, 800);
// space for SysTray
for (int i = 0; i < 32; i++)
{
for (int j = 0; j < 480; j++)
{
w2.Pixels[i * 480 + j] = -16777216; // black #ff000000
}
}
// actual client area
for (int i = 32; i < 728; i++)
{
for (int j = 0; j < 480; j++)
{
w2.Pixels[i * 480 + j] = w.Pixels[(i - 32) * 480 + j];
}
}
// space for AppBar
for (int i = 728; i < 800; i++)
{
for (int j = 0; j < 480; j++)
{
w2.Pixels[i * 480 + j] = -16777216; // black #ff000000
}
}
MemoryStream ms = new MemoryStream();
w2.SaveJpeg(ms, 480, 800, 0, 100);
Microsoft.Xna.Framework.Media.MediaLibrary lib = new Microsoft.Xna.Framework.Media.MediaLibrary();
ms.Position = 0;
lib.SavePicture("screenshot", ms);
2
在Silverlight#WP7應用程序中拍攝屏幕截圖。
public static void SaveToMediaLibrary(
FrameworkElement element,
string title)
{
try
{
var bmp = new WriteableBitmap(element, null);
var ms = new MemoryStream();
bmp.SaveJpeg(
ms,
(int)element.ActualWidth,
(int)element.ActualHeight,
0,
100);
ms.Seek(0, SeekOrigin.Begin);
var lib = new MediaLibrary();
var filePath = string.Format(title + ".jpg");
lib.SavePicture(filePath, ms);
MessageBox.Show(
"Saved in your media library!",
"Done",
MessageBoxButton.OK);
}
catch
{
MessageBox.Show(
"There was an error. Please disconnect your phone from the computer before saving.",
"Cannot save",
MessageBoxButton.OK);
}}
+0
引用您的資料http://wblo.gs/bGW – jedmao 2012-07-13 01:09:04
相關問題
- 1. 從我的應用程序截取設備的屏幕截圖
- 2. 使用cuda獲取可見應用程序的屏幕截圖
- 3. 使用screencap實用程序獲取屏幕截圖時的屏幕截圖使用screencap實用程序獲取屏幕截圖
- 4. 在應用程序內獲取屏幕截圖
- 5. 編寫一個Android應用程序以獲取屏幕截圖
- 6. Windows Phone 7,獲取應用程序列表+屏幕截圖
- 7. 如何獲取網絡應用程序的屏幕截圖
- 8. QQ屏幕截圖應用程序
- 9. 應用程序屏幕截圖問題
- 10. AIR應用程序的屏幕截圖
- 11. 如何在Windows應用程序中截取屏幕截圖?
- 12. iphone - 截取其他應用程序的屏幕截圖?
- 13. 截取應用程序中的屏幕截圖
- 14. ffmpeg獲取屏幕截圖
- 15. 從browserstack獲取屏幕截圖
- 16. 從LinearLayout獲取屏幕截圖
- 17. 從WPF獲取屏幕截圖
- 18. 如何從videofile獲取屏幕截圖?
- 19. 如何從「最近打開的應用程序」中獲取屏幕截圖?
- 20. 從屏幕截圖中排除覆蓋應用程序圖標
- 21. 從屏幕截圖分類程序
- 22. C++截取屏幕截圖
- 23. 截取屏幕截圖
- 24. 如何從android應用程序中禁用屏幕截圖?
- 25. 如何自動捕獲iOS應用程序的屏幕截圖
- 26. 如何獲得應用程序的屏幕截圖
- 27. 捕獲Ruby on Rails應用程序的屏幕截圖
- 28. iOS - 在應用程序崩潰之前採取屏幕截圖
- 29. WP7:編輯屏幕截圖雖然應用程序背景(芒果)
- 30. 從底部截取的主屏幕網絡應用程序
謝謝!從你的鏈接工作的解決方案:http://blog.markarteaga.com/ScreenCaptureOnWindowsPhone7.aspx – Rover 2011-04-05 14:40:34
@Rover很高興我能幫上忙。 – gdp 2011-04-05 15:04:24