How to programmatically take a screenshot on windows phone?

后端 未结 1 891
既然无缘
既然无缘 2020-12-06 03:25

I need to take screenshots using Windows Phone. I don\'t want to take screenshots using the emulator and power+start button manually. Is there anything that can be done prog

相关标签:
1条回答
  • 2020-12-06 04:00

    Here is the code:

    private void ApplicationBarScreenshotButton_Click(object sender, EventArgs e)
    {
        var fileName = String.Format("MyImage_{0:}.jpg", DateTime.Now.Ticks);
        WriteableBitmap bmpCurrentScreenImage = new WriteableBitmap((int)this.ActualWidth, (int)this.ActualHeight);
        bmpCurrentScreenImage.Render(LayoutRoot, new MatrixTransform());
        bmpCurrentScreenImage.Invalidate();
        SaveToMediaLibrary(bmpCurrentScreenImage, fileName, 100);
        MessageBox.Show("Captured image " + fileName + " Saved Sucessfully", "WP Capture Screen", MessageBoxButton.OK);
    
        currentFileName = fileName;
    }
    
    public void SaveToMediaLibrary(WriteableBitmap bitmap, string name, int quality)
    {
        using (var stream = new MemoryStream())
        {
            // Save the picture to the Windows Phone media library.
            bitmap.SaveJpeg(stream, bitmap.PixelWidth, bitmap.PixelHeight, 0, quality);
            stream.Seek(0, SeekOrigin.Begin);
            new MediaLibrary().SavePicture(name, stream);
        }
    }
    

    When you click on the AppBar button it will take the screenshot and Save the picture to the Windows Phone media library

    0 讨论(0)
提交回复
热议问题