AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PaintBoxPaint Draw Reihenfolge.

Ein Thema von Bjoerk · begonnen am 17. Jan 2014 · letzter Beitrag vom 18. Jan 2014
Antwort Antwort
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

PaintBoxPaint Draw Reihenfolge.

  Alt 17. Jan 2014, 18:47
Ich hab folgendes drinstehen.
Delphi-Quellcode:
procedure TDigensForm.PaintBoxPaint(Sender: TObject);
begin
  PaintBox.Canvas.StretchDraw(PaintBox.ClientRect, FMetaFile);
  DrawRaster;
  DrawFadenkreuz;
end;
Das Raster und das Fadenkreuz werden direkt auf die PaintBox gezeichnet. Ich hätte es nun aber gern so, daß zuerst das Raster gezeichnet wird und dann erst die Metafile. Geht das irgendwie ?
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 17. Jan 2014, 19:23
Delphi-Quellcode:
procedure TDigensForm.PaintBoxPaint(Sender: TObject);
begin
  DrawRaster;
  PaintBox.Canvas.StretchDraw(PaintBox.ClientRect, FMetaFile);
  DrawFadenkreuz;
end;
?
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 17. Jan 2014, 19:48
Schön wär‘s (das StrechDraw verdeckt doch das Raster).
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#4

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 17. Jan 2014, 20:54
Ich meine, das willst Du nicht hören:
TImgView32 -natürlich Gr32- ist quasi eine Paintbox mit Layern. Muß man sich zwar einarbeiten, aber da legt man das Raster einfach in ein Layer und gut is.
Angehängte Dateien
Dateityp: zip ImgView_Layers_Ex.zip (740,0 KB, 5x aufgerufen)
Achtung: Bin kein Informatiker sondern komme vom Bau.

Geändert von Jens01 (17. Jan 2014 um 21:05 Uhr)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 17. Jan 2014, 22:13
Hallo Kollege. Mag sein. Ich fang jetzt aber nicht mehr von vorne an. Hab ne Gui mit eigenem OI. Sieht super aus und ist auch sau schnell (vor allem, weil die ganze Grafik nicht in MouseMove "refreshed" werden muß sondern nur das, was gerade geändert wird. Das (bei einer MetaFile) hinzukriegen war die eigentliche Schwierigkeit). Das mit dem Raster ist eher auch ein Mini-Problem (ich kann es auch auf die Metafile zeichnen, nur da gehört‘s eigentlich nicht hin).

Schönes Wochenende!
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#6

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 18. Jan 2014, 02:11
Nur noch ein kleiner Tipp:
Übergib den Proceduren DrawRaster und DrawFadenkreuz einen Parameter vom Typ TCanvas .
Delphi-Quellcode:
procedure TDigensForm.DrawRaster(canvas:TCanvas);
begin
  ...
Das erhöht die Flexibilität deiner Software; vielleicht möchtest du die Ausgabe ja mal auf ein Bitmap oder den Drucker-Canvas schicken.
fork me on Github
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 18. Jan 2014, 11:09
Ok. Welchen CopyMode müßte ich denn auswählen, wenn man das Raster auf eine Extrabitmap / ExtraMetafile zeichnen würde und das in die PaintBox reinkopiert (also so, daß die bereits vorhandene Grafik nicht überschrieben wird)? Das wär auch das, was ich eigentlich wollte, denn dann könnte man nämlich auf verschiedene Ebenen zeichnen.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#8

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 18. Jan 2014, 13:31
Entweder cmSrcPaint oder auch cmSrcInvert (sourcebitmap XOR rasterlinien) wären geeignet.
Jenachdem wie du dein Raster zeichnest wäre auch noch cmMergePaint interessant.
Einfach mal ausprobieren.
fork me on Github

Geändert von sx2008 (18. Jan 2014 um 13:34 Uhr)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: PaintBoxPaint Draw Reihenfolge.

  Alt 18. Jan 2014, 19:29
So langsam steig ich da durch. Bei Metafiles macht das wohl mit PlayEnhMetaFile? Funktionieren tut's schonmal gut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz