【发布时间】:2019-11-12 22:37:34
【问题描述】:
我有一个带有自定义图标和图像的 Powershell WPF ListView。即使列表视图内容由于很多行而可滚动,也想截取整个列表视图的屏幕截图(以捕获图标/图像)。
使用这样的代码,我只能截取特定区域(此处为 1000x900 像素)的屏幕截图。
Add-Type -Assembly System.Drawing
function Get-Screenshot
{
param([System.Drawing.Rectangle]$Bereich)
$Bmp = New-Object System.Drawing.Bitmap $Bereich.Width, $Bereich.Height
$Graphics = [System.Drawing.Graphics]::FromImage($Bmp)
$Graphics.CopyFromScreen($Bereich.Location, [System.Drawing.Point]::Empty,$Bereich.Size)
$BmpPath = "$env:userprofile\documents\Screenshot_{0:dd}{0:MM}_{0:HH}_{0:mm}_{0:ss}.png" -f (Get-Date)
$Bmp.Save($BmpPath)
$Graphics.Dispose()
$Bmp.Dispose()
}
$Bereich = [System.Drawing.Rectangle]::FromLTRB(0, 0, 1000, 900)
Get-Screenshot -Bereich $Bereich
找到一些类似的文章Take whole "Screenshot" of a scrollable View 但是没有“仅powershell”方式的代码。
【问题讨论】:
-
另一种方法:我将列表视图转换为 xml,然后我可以添加一些自定义 css 类,最后将其作为 html 导出
标签: .net wpf powershell listview screenshot