我对 c# 没有那么深的了解。我正在使用 TeeChart 绘制图表。我可以将图表图像保存为 .jpg、.bmp 等格式 我需要做的是在保存之前我想剪辑图像的某些部分,然后按原样保存其余部分,而无需更改像素信息或任何其他内容。
我想夹在块框部分内。剩下的图表应该是原样。以同样的方式,如果我愿意,我也可以剪辑末端部分图。图像的像素或高度应该没有变化。剩下的图像也应该覆盖整个图表。是否可以。任何人都可以帮助我如何做到这一点。
var destBitmap = sourceBitmap.Clone(new Rect(0, 0, 100, 200), sourceBitmap.PixelFormat);
您可以从 tChart1.Chart.ChartRect 中获取图表绘制区域的坐标。这是一个将图表图例剪辑成图像的示例:
public Form1()
{
InitializeComponent();
InitializeChart();
}
private Bitmap chartBmp;
private void InitializeChart()
{
tChart1.Series.Add(new Steema.TeeChart.Styles.Bar()).FillSampleValues();
chartBmp = tChart1.Bitmap;
tChart1.GetLegendRect += tChart1_GetLegendRect;
}
void tChart1_GetLegendRect(object sender, Steema.TeeChart.GetLegendRectEventArgs e)
{
Rectangle cropRect = e.Rectangle;
Bitmap legendImg = new Bitmap(cropRect.Width, cropRect.Height);
using (Graphics g = Graphics.FromImage(legendImg))
{
g.DrawImage(chartBmp, new Rectangle(0, 0, legendImg.Width, legendImg.Height),
cropRect,
GraphicsUnit.Pixel);
}
legendImg.Save(@"c:\temp\legend.png");
}