AGB  ·  Datenschutz  ·  Impressum  







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

Graphik in Graustufen auf Canvas?

Ein Thema von uligerhardt · begonnen am 8. Apr 2013 · letzter Beitrag vom 8. Apr 2013
Antwort Antwort
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#1

Graphik in Graustufen auf Canvas?

  Alt 8. Apr 2013, 17:05
Hallo zusammen!

Ich muss aktuell Graphiken unterschiedlicher Typen (bmp, wmf, jpg) in Graustufen auf einen TCanvas bringen. Dabei würde ich es gerne vermeiden, die Graphiken erst in ein Bitmap zu wandeln, um Treppenstufen etc. zu vermeiden. Habt ihr da Vorschläge?
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Graphik in Graustufen auf Canvas?

  Alt 8. Apr 2013, 17:38
mmmhhhhh...bei den Pixelformaten sollten bei 1:1 Ausgabe IMHO keine neuen Treppeneffekte entstehen und bei den Vektorformaten lassen sie sich ohnehin nicht vermeiden ... (allenfalls per GDI+ besser interpolieren).
Aber vielleicht habe ich die Anforderung auch falsch verstanden.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Graphik in Graustufen auf Canvas?

  Alt 8. Apr 2013, 18:10
mmmhhhhh...bei den Pixelformaten sollten bei 1:1 Ausgabe IMHO keine neuen Treppeneffekte entstehen und bei den Vektorformaten lassen sie sich ohnehin nicht vermeiden ... (allenfalls per GDI+ besser interpolieren).
Sorry, war unklar ausgedrückt. Vektorgraphik auf Pixelmedium gibt Treppen - die meine ich nicht.

Wenn ich zum Beispiel ein seitenfüllendes WMF auf einen Drucker mit hoher Auflösung ausgeben will und dabei ein temporäres Bitmap in "Zielauflösung" nutze, wird das ja ein monströses Ding. Wenn ich hingegen ein gröbere Auflösung nehme, um den Speicher zu schonen, kommen eben zusätzliche Artefakte hinzu - und die würde ich gerne umgehen. Mal abgesehen davon, dass mein Delphicode die ganzen Schritte von Originalgraphik zu buntem Bitmap zu Graustufenbitmap zu Canvas vermutlich nicht so effizient hinkriegt wie ein GDI-Befehl.
Uli Gerhardt
  Mit Zitat antworten Zitat
Bjoerk

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

AW: Graphik in Graustufen auf Canvas?

  Alt 8. Apr 2013, 18:37
Ich würde die MetafIle einfach so wie sie ist per Printer.Canvas.StretchDraw abschicken und den Drucker auf Graustufen stellen (Treibereinstellungen).
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Graphik in Graustufen auf Canvas?

  Alt 8. Apr 2013, 18:46
Ich würde die MetafIle einfach so wie sie ist per Printer.Canvas.StretchDraw abschicken und den Drucker auf Graustufen stellen (Treibereinstellungen).
Da habe ich auch schon dran gedacht, aber da gibt's auch Probleme. Zum einen soll möglicherweise nicht der ganze Druck SW sein, sondern eben nur die betreffenden Graphiken - das muss ich noch mal klären. Und zum anderen wäre es schön, wenn das ganze auch am Bildschirm funktioniert, z.B. für die Vorschau.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Graphik in Graustufen auf Canvas?

  Alt 8. Apr 2013, 18:50
Für die Vorschau würde eine geringere Auflösung ja genügen und zum Mischen zumindest auf einer Seite gibt es eh Einschränkungen
Zitat:
The system disables the ResetDC function between calls to the StartPage and EndPage functions. This means that you cannot change the device mode except at page boundaries. After calling EndPage, you can call ResetDC to change the device mode, if necessary. Note that a call to ResetDC resets all device context attributes back to default values.
MSDN

Ich fürchte Du wirst um formatfüllende Bitmaps bei den Anforderungen nicht herumkommen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Graphik in Graustufen auf Canvas?

  Alt 8. Apr 2013, 19:49
Ich fürchte Du wirst um formatfüllende Bitmaps bei den Anforderungen nicht herumkommen.
Ich werd's mal probieren. Vielleicht haut's ja hin.
Danke für alle Antworten bisher!
Uli Gerhardt
  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 20:44 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