Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 935 - The Pie and Donut Series with small values don't draw correctly in GDI Canvas.
Summary: The Pie and Donut Series with small values don't draw correctly in GDI Canvas.
Status: RESOLVED FIXED
Alias: None
Product: VCL TeeChart
Classification: Unclassified
Component: Canvas (show other bugs)
Version: unspecified
Hardware: PC Windows
: High major
Target Milestone: ---
Assignee: Steema Issue Manager
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-26 07:22 EDT by sandra pazos
Modified: 2014-10-09 13:08 EDT (History)
2 users (show)

See Also:
Chart Series: ---
Delphi / C++ Builder RAD IDE Version:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sandra pazos 2014-09-26 07:22:15 EDT
The Pie and Donut Series with small values don't draw correctly in GDI Canvas, specifically, when the values are smaller than 0.05 % of the total. To reproduce the problem for Donut Series, is necessary use custom radius smaller than 165, too.

The problem doesn't appear in GDI+ canvas. 

The code below reproduces the problem for Donut and Pie series in GDI canvas:
uses Series,TeeDonut, TeCanvas;
var Series1:TPieSeries;
Chart1 :TChart;
procedure TForm1.FormCreate(Sender: TObject);
begin
  Chart1 := TChart.Create(Self);
  Chart1.Parent := Self;
  Chart1.Align := alClient;
  Chart1.Canvas := TTeeCanvas3D.Create;
  Chart1.View3D:= False;
  Series1 := TPieSeries.Create(Self);
  Chart1.AddSeries(Series1);
    With Series1 do
    begin
      CustomXRadius := 138;
      CustomYRadius := 138;
      MultiPie := mpDisabled;
      DonutPercent := 42; //  Comment this line to reproduce the issue for Pie Chart.
      //Add Data
      AddPie(15.82,'Lymphs',clMoneyGreen);
      AddPie(9.3,'Monos',clLime);
      AddPie(37.04,'Grans',clGreen);
      AddPie(0.03,'Beads',clOlive);
      AddPie(0,'Debris', clWebGreenYellow);
    end;
end;