AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Drucken mit Maßeinheiten (cm)

Ein Thema von Andreas L. · begonnen am 11. Jan 2007 · letzter Beitrag vom 12. Jan 2007
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

Drucken mit Maßeinheiten (cm)

  Alt 11. Jan 2007, 19:52
Hi,
wenn ich auf das Druckercanvas zeichne mache ich dies ja in Pixeln. Wie kann ich, z. B. ein Bild, in Zentimeter (cm) ausrucken? Pixel kann man ja nicht in cm umrechen... Wie könnte ich das dann realisieren?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Drucken mit Maßeinheiten (cm)

  Alt 11. Jan 2007, 19:57
mit der Funktion SetMapMode kannst du das umstellen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Drucken mit Maßeinheiten (cm)

  Alt 11. Jan 2007, 20:07
Letztendlich hängt die Ausgabe-Größe / Auflösung eines Bildes
von den ppi / dpi ab, die darauf angewandt werden.

ppi = Pixel per Inch (beim Screen verwendet)
dpi = dots per Inch (beim Druck verwendet)


Hier mal ein Vergleich der Ausgabegröße,
wenn bei einem Bild von 2000 x 2000 Pixel die PPI geändert werden:

72 ppi : 70,56 cm
150 ppi : 33,87 cm
300 ppi : 16,93 cm

Dabei entsprechen 1 Zoll/Inch = 2,54 cm


Ein Ausdruck in guter Qualität (Industriedruck) benötigt
ca. 300ppi - auf einem Tintenstrahldrucker können es auch weniger sein.

Der richtige / gewünschte Ausdruck ist also immer ein Zusammenspiel
aus Auflösung und Ausmaßen des Bildes.


Nur so zur Info

Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#4

Re: Drucken mit Maßeinheiten (cm)

  Alt 12. Jan 2007, 00:41
Zitat von Andreas L.:
Hi,
wenn ich auf das Druckercanvas zeichne mache ich dies ja in Pixeln. Wie kann ich, z. B. ein Bild, in Zentimeter (cm) ausrucken? Pixel kann man ja nicht in cm umrechen... Wie könnte ich das dann realisieren?
Natürlich kannst du das, du must nur den Drucker fragen, wieviele Pixel / cm er hat. Das geht mit
xdpi := GetDeviceCaps (Printer.Handle, LOGPIXELSX); das sind zwar Pixel/Zoll (dpi = Dot per Inch), aber das kann kein ernsthaftes Hindernis sein.

Grundsätzlich kannst du das selber rechnen, oder du setzt einen anderen Windows-Mapping-Mode ein. Der Umgang damit ist aber nicht ganz trivial, ich habe daher bisher immer selbst umgewandelt, und zwar (wichtig!) nur an einer einzigen Stelle in der Software.

Gruss Reinhard
  Mit Zitat antworten Zitat
popo2006
(Gast)

n/a Beiträge
 
#5

Re: Drucken mit Maßeinheiten (cm)

  Alt 12. Jan 2007, 01:01
Wenn Du den Drucker fragst, wieviele dpi (Dots per Inch) er kann, kannst Du diesen Wert leicht in sonstwas umrechnen.

Allerdings solltest Du dabei beachten, dass viele Drucker unterschiedliche Werte für ihren dpi-Wert zurückliefern.

Je nachdem, ob Du deren s/w- oder Farbdruck abfragst.

Alte Epsons machen Dir dabei die Hölle heiß, falls sie nicht als Standarddrucker eingestellt sind.

mfg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Drucken mit Maßeinheiten (cm)

  Alt 12. Jan 2007, 09:21
Hat eigentlich irgendjemand das Posting von Sir Thornberry gelesen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Drucken mit Maßeinheiten (cm)

  Alt 12. Jan 2007, 09:43
Zitat von Luckie:
Hat eigentlich irgendjemand das Posting von Sir Thornberry gelesen?
Ausserdem: Der Hinweis aus SetMapMode ist zwar korrekt um das Umrechnen von inch nach cm zu übergehen. Dennoch ist der Hinweis von "Reinhard Kern" auf GetDeviceCaps IMHO genau so von Bedeutung.

Ich finde alle bisherigen Post haben auch etwas zum Hintergrundwissen beigetragen. Und das ist gut so.


Gerd
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Drucken mit Maßeinheiten (cm)

  Alt 12. Jan 2007, 09:54
Zitat von bernau:
Ich finde alle bisherigen Post haben auch etwas zum Hintergrundwissen beigetragen. Und das ist gut so.
Gerd
Genau... DDT Rules...

Ansonsten...

[VORKAU=ON]

Delphi-Quellcode:
    LogX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
    LogY := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
    XMax := GetDeviceCaps(Printer.Handle, PHYSICALWIDTH);
    YMax := GetDeviceCaps(Printer.Handle, PHYSICALHEIGHT);
    DruckX := Printer.PageWidth;
    DruckY := Printer.PageHeight;
    Rand_Links := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
    Rand_Oben := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
und eine Umrechnung als Beispiel...

Delphi-Quellcode:
function mmtoxpix(X:Extended):integer;
  begin
    X := X * logX / 25.4;
    result := trunc(X)-Rand_Links;
  end;

function .mmtoypix(Y:Extended):integer;
  begin
    Y := Y * logy / 25.4;
    result := trunc(Y)-Rand_oben;
  end;

[VORKAU=OFF]

Frank
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#9

Re: Drucken mit Maßeinheiten (cm)

  Alt 12. Jan 2007, 14:42
Zitat von Luckie:
Hat eigentlich irgendjemand das Posting von Sir Thornberry gelesen? :?
Hallo Luckie,

hättest du mein Posting ganz gelesen, hätte sich die Frage erübrigt.

Mapping Modes unter Windows sind nicht so ganz trivial, man bekommt es dann mit den Beziehungen zwischen Window und Viewport zu tun, was sehr leistungsfähig ist, aber das muss man auch erstmal verstehen. Daher meine Meinung, dass auch die Umrechnung in der eigenen Software eine bedenkenswerte Alternative ist - 2 Befehle an der geeigneten Stelle erledigen das.

Mag sein, dass du der Meinung bist, SetMapMode löst alle Probleme der Welt, ich bin anderer Meinung, und soviel muss hier auch noch erlaubt sein.

Gruss Reinhard
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#10

Re: Drucken mit Maßeinheiten (cm)

  Alt 12. Jan 2007, 15:03
Danke für eure Antworten. Ich werde beide Routinen ausprobieren. Melde mich später wieder
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:15 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