[wp7 인앱 스크린샷]Silverlight #WP7 애플리케이션 내에서 스크린샷 찍기
7781 단어 은빛
종종 애플리케이션 페이지의 스크린샷을 찍고 싶을 때가 있습니다. 여러 가지 이유가 있을 수 있습니다. 예를 들어 이를 사용하여 베타 테스터에게 쉬운 피드백 방법을 제공할 수 있습니다. 사용자는 빠른 스크린샷을 찍어 이메일에 첨부하여 Windows Phone 장치에서 직접 나에게 보낼 수 있습니다. 그러나 동일한 메커니즘을 사용하여 스크린샷을 제공할 수도 있습니다. 사용자가 자신의 애플리케이션 등의 현재 상태를 저장하기를 원합니다.
주의 사항
다음 사항에 유의하십시오.
코드
1 public static void SaveToMediaLibrary(
2 FrameworkElement element,
3 string title)
4 {
5 try
6 {
7 var bmp = new WriteableBitmap(element, null);
8
9 var ms = new MemoryStream();
10 bmp.SaveJpeg(
11 ms,
12 (int)element.ActualWidth,
13 (int)element.ActualHeight,
14 0,
15 100);
16 ms.Seek(0, SeekOrigin.Begin);
17
18 var lib = new MediaLibrary();
19 var filePath = string.Format(title + ".jpg");
20 lib.SavePicture(filePath, ms);
21
22 MessageBox.Show(
23 "Saved in your media library!",
24 "Done",
25 MessageBoxButton.OK);
26 }
27 catch
28 {
29 MessageBox.Show(
30 "There was an error. Please disconnect your phone from the computer before saving.",
31 "Cannot save",
32 MessageBoxButton.OK);
33 }
34 }
이 방법은 모든 FrameworkElement를 저장할 수 있습니다. 일반적으로 전체 페이지를 저장하는 데 사용하지만 다른 요소를 전달할 수도 있습니다.
이미지 사용
이미지를 검색하려면 전화에서 사진 라이브러리를 실행하기만 하면 됩니다. 이미지는 저장된 사진에 있습니다. 여기에서 이미지를 공유하거나(예: 이메일로) Zune 소프트웨어를 사용하여 PC와 동기화할 수 있습니다.
다른 플랫폼에 저장
물론 미디어 라이브러리가 아닌 다른 플랫폼에 저장하는 것도 가능합니다. 예를 들어 이미지를 웹 서비스로 보내거나 장치의 격리된 저장소에 저장할 수 있습니다. 이렇게 하려면 MemoryStream을 사용하는 대신 다른 스트림(예: 웹 요청 스트림 또는 파일 스트림)을 사용하고 대신 저장할 수 있습니다.
이 코드가 도움이 되길 바랍니다!
즐거운 코딩,
로랑
원본 게시물: http://geek is with blog on .net/l you/archive/2010/12/28/taking-ah-screenshot-from-within-ah-Silverlight-I'm wonder 7-application.aspx
public void CaptureScreen(object sender, EventArgs e)
{
WriteableBitmap bmp = new WriteableBitmap(480, 800);
bmp.Render(App.Current.RootVisual, null);
bmp.Invalidate();
MemoryStream stream = new MemoryStream();
bmp.SaveJpeg(stream, bmp.PixelWidth, bmp.PixelHeight, 0, 80);
stream.Seek(0, SeekOrigin.Begin);
MediaLibrary library = new MediaLibrary();
string filename = "ScreenShot_" + DateTime.Now.ToString("yyyy-MM-dd_hh:mm:ss");
library.SavePicture(filename, stream);
stream.Close();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[wp7 인앱 스크린샷]Silverlight #WP7 애플리케이션 내에서 스크린샷 찍기종종 애플리케이션 페이지의 스크린샷을 찍고 싶을 때가 있습니다. 여러 가지 이유가 있을 수 있습니다. 예를 들어 이를 사용하여 베타 테스터에게 쉬운 피드백 방법을 제공할 수 있습니다. 사용자는 빠른 스크린샷을 찍어 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.