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 816

Summary: Pen seems to be still drawn in GDIPlus after setting to be inVisible
Product: VCL TeeChart Reporter: yeray alonso <yeray>
Component: CanvasAssignee: Steema Issue Manager <issuemanager>
Status: CONFIRMED ---    
Severity: enhancement CC: david, mertelmeyer
Priority: ---    
Version: 140512   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
URL: http://www.teechart.net/support/viewtopic.php?f=3&t=15017&view=unread#unread
Chart Series: --- Delphi / C++ Builder RAD IDE Version:

Description yeray alonso 2014-06-26 08:16:03 EDT
In GDIPlus you can hide the Pen but it's still drawn in the majority of the lines.
In a TBarSeries it is more difficult to observe this because in vertical and horizontal lines it seems to work fine.

This happens in v2011.03 and up.
It didn't happen in v2010.01.
Haven't tried in v2010.02.

uses Series, TeCanvas;

var Chart1: TChart;

procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
  Chart1:=TChart.Create(Self);
  Chart1.Parent:=Self;
  Chart1.Align:=alClient;

  with TTeeGDIPlus.Create(Self) do
  begin
    TeePanel:=Chart1;
    Active:=true;
  end;

  Chart1.Color:=clWhite;
  Chart1.Gradient.Visible:=false;

  with Chart1.AddSeries(TPieSeries) as TPieSeries do
  begin
    for i:=0 to 6 do
      Add(1, '', clBlack);

    Pen.Visible:=false;
    Shadow.Visible:=false;
    Circled:=true;
  end;
end;
Comment 1 david berneda 2014-09-15 03:07:42 EDT
Pen.Visible is not the problem. 

The pen is hidden, but the problem is GDI+ antialias, leaves one extra pixel at polygon (pie slice) right/bottom corner.  And the background appears.

This works fine:

  with TTeeGDIPlus.Create(Self) do
  begin
    TeePanel:=Chart1;
    Active:=True;
    Antialias:=False;  <----- disable antialias
  end;

The solution is not easy. 
Maybe using polygon-offset GDI+ api parameters.