想象一下,我有一个包含3列和2行的网格。我想拍一下2-3栏和第1栏内的内容。这可能吗?
现在我可以使用此方法将截图截取到我的情节图
private void Capture()
{
SaveFileDialog dlg = new SaveFileDialog();
dlg.FileName = "hello";
dlg.Filter = "JPEG (*.jpg)|*.jpg|PNG (*.png)";
dlg.FilterIndex = 1;
if (dlg.ShowDialog().GetValueOrDefault(false))
{
string filePath = dlg.FileName;
plotter.SaveScreenshot(filePath);
e.Handled = true;
}
}
如果plotter是ChartPlotter(DynamicDataDisplay中的一个类),它有一个名为“SaveScreenshot”的方法。
但它只需截取该特定绘图仪的截图。我的想法是拥有几个绘图仪,并能够为所有人绘制屏幕截图。为此,我可以将它们放入StackPanel或网格中,并整体拍摄该元素(包含我的所有绘图仪)。
答案 0 :(得分:1)
int[,] array = new int[2,3];
static int[,] ScreenShot(int row, int colum1, int colum2)
{
int[,] temp = new int[colum2-colum1, 1];
for (int i = 0; i < colum2-colum1; i++)
{
temp[i,1] = array[i+colum1,row];
}
}
如果你想让它有更多的行,你可以扩展它。
答案 1 :(得分:0)
这不是最快或最好的解决方案,但你可以制作一组绘图仪,然后创建一个临时的小图片阵列(会使用比jpg更无损的东西)并在最后组合它们。这对你有用吗?