2016-11-12 7 views
0

내 코드에 어떤 문제가 있는지 말해 줄 수 있습니까? System.Windows.Forms.DataVisualization.Charting 라이브러리를 통해 콘솔 응용 프로그램에서 차트 이미지를 생성하려고합니다. 다음 코드는 나만 차트를 생성하지만, 축이있는 차트가 필요합니다. 어떤 아이디어?축이있는 이미지 파일에 차트를 저장하는 중

Chart chart = new Chart();  

chart.Size = new System.Drawing.Size(2000, 500); 
ChartArea area = new ChartArea(); 
chart.ChartAreas.Add(area); 

chart.BackColor = System.Drawing.Color.Transparent; 
chart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; 
chart.ChartAreas[0].AxisY.MajorGrid.Enabled = false; 

chart.ChartAreas[0].AxisX.Title = "sasdasdasd"; 

Series series = new Series() 
{ 
    Name = "series2", 
    IsVisibleInLegend = false, 
    ChartType = SeriesChartType.Column 
}; 

chart.Series.Add(series); 

foreach (CnbItem item in items) 
{ 
    DataPoint p1 = new DataPoint(0, Double.Parse(item.Kurz)); 
    p1.Color = System.Drawing.Color.LightBlue; 
    p1.AxisLabel = item.Kod; 
    p1.LegendText = item.Kod; 
    p1.Label = item.Kurz; 

    series.Points.Add(p1); 

} 

string filename = "D:\\Chart.png"; 
chart.SaveImage(filename, ChartImageFormat.Png); 

답변

0

업데이트 :하여 ChartBackcolorTransparent에 대한 설정은 실제로 잘 작동합니다. 그러나 일부 이미지 뷰어는 투명도를 표시하지 않습니다. 나는 Irfanview을 나의 기본 뷰어로 사용하며, 그 중 하나는 불가능합니다. 내가 대신 모든 투명성은 당신이 ... 아닌 검은 색 선 색상이 그렇게하지 않는 한, 블랙로 렌더링됩니다

이 축과 라벨 등이 .. 사라 할 보인다 .. 당신은 또한 투명성이 골대를 벗어났습니다 생각한다. 페인트 (W10)은 다른 하나이지만 흰색으로 투명도를 렌더링하므로 검은 색 픽셀이 적어도 보입니다.

아래의 이미지는 물론, 그 문제가없는, 포토샵 ..

에서

enter image description here

+0

덕분에,이 색의 작품이지만, 지금이 axisX 라벨은 모든 열이 아래 있지 , 축 Y의 값은 득실 거리가 아닙니다 :/새로운 포스트 pls을 만들지 않고 왜 말해 줄 수 있습니까? – Aligator

+1

글쎄,이 모든 일반적인 규칙이 적용됩니다. 축 레이블은 일반적으로 사용 가능한 공간에 따라 자동으로 배치됩니다. 원하는대로 간격을 설정할 수 있습니다. '1'은 하나의 단위를 의미합니다. '축 Y의 값이 올바르지 않습니다 (?)'라는 의미가 확실하지 않습니다. 이미지로 질문을 업데이트 할 수 있습니다 .. – TaW

+0

예, 간격 = 1, 내가 필요한 것입니다. 감사합니다. – Aligator