假设我有一个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或网格中,并将该元素作为一个整体(包含所有绘图仪)拍摄一张照片。
发布于 2013-05-26 09:23:31
是的。我不知道你到底想在什么情况下使用它。但是,如果你只是想把它保存在另一个数组中,例如,你可以用for循环来实现。对于您的示例,只需要一个循环:
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];
}
}如果你想让它有更多的行,你可以扩展它。
发布于 2013-05-26 09:59:42
这不是最快或最好的解决方案,但你可以制作一个绘图仪阵列,然后创建一个临时的小图片阵列(将使用比jpg更无损的图像),并在最后将它们组合在一起。这对你有用吗?
https://stackoverflow.com/questions/16754869
复制相似问题