Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Linien mit Hintergrundfarbe überzeichnen

  Alt 22. Mai 2007, 15:29
Der Code ist mittlerweile etwas an die neuen Angepasst:
Delphi-Quellcode:
procedure TFotoBook.PaintGrid(Page: TImageEnvect; Show: Boolean = True);
var
  i : Integer;
  j : Integer;
begin
  // alle Layer deselektieren, sonst würden wir nur auf das aktuelle Layer zeichen
  Page.LayersCurrent := 0;
  // Zeichenstiftmodus setzen
  if (Show and not Grid) or (Show and Grid) then
  begin
    Page.Bitmap.Canvas.Pen.Mode := pmCopy;
  end
  else if (Grid and not Show) or (not Grid and not Show) then
  begin
    Page.Bitmap.Canvas.Pen.Mode := pmNotXor;
  end;

  with Page do
  begin
    Page.Bitmap.Canvas.Brush.Style := bsClear;
    // Punkte zeichnen
    for i := 0 to Width div FGridWidth do
    begin
      for j := 0 to Height div FGridWidth do
      begin
        Bitmap.Canvas.Pixels[i * FGridWidth, j * FGridWidth] := clBlack;
      end;
    end;
    Update;
  end;
  // Penmode zurücksetzen
  Page.Bitmap.Canvas.Pen.Mode := pmCopy;
  Self.Grid := Show;
end;
Es gibt nur ein Problem: Wurde das Raster noch nicht gezeichnet (Grid = False) und soll auch nicht gezeichnet werden (Show = False), zeichnet der Code trotzdem das Raster.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat