Gebruik Canvas.Pen.Mode = pmNotXor. Daarmee teken je een kleur die wordt samengesteld uit de ingestelde kleur en de aanwezige achtergrondkleur, en daar dan weer een xor bewerking op. Als je dat een tweede keer doet, dan is de lijn weer verdwenen en staat er weer het origineel:
Delphi Code:
procedure TForm1.RaaklijnPlotten(k: Char; i: Byte);
begin
if x > dmin then
begin
Plotgebied.Canvas.MoveTo(conversiex(dmin), conversiey(r(dmin)));
Plotgebied.Canvas.LineTo(conversiex(dmax), conversiey(r(dmax)));
end;
if k = 'f' then
begin
aa := g(x);
bb := f(x) - (x * g(x));
Uit_9.Text := 'y = ' + conR(aa) + 'x ' + conR(bb);
end
else if k = 'p' then
begin
aa := f(x);
bb := p(x) - (x * f(x));
Uit_9.Text := 'y = ' + conR(aa) + 'x ' + conR(bb);
end;
if x < dmax then
begin
Plotgebied.Canvas.MoveTo(conversiex(dmin), conversiey(r(dmin)));
Plotgebied.Canvas.LineTo(conversiex(dmax), conversiey(r(dmax)));
end;
end;
procedure TForm1.RaaklijnPlottenSerie(k: Char; i: Byte);
var
Kleur: TColor;
begin
Plotgebied.Canvas.Pen.Mode := pmNotXor;
if k = 'f' then
Kleur := clF
else if k = 'p' then
Kleur := clP;
x := dmin;
while (x <= dmax) and (not Stoppen) do
begin
if i = 0 then
RaaklijnPlotten(k, 0);
x := x + dx;
RaaklijnPlotten(k, 1);
Application.Processmessages;
end;
Plotgebied.Canvas.Pen.Mode := pmBlack;
end;
Bookmarks