AGB  ·  Datenschutz  ·  Impressum  







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

feste Größe beim Drucken

Ein Thema von Tpercon · begonnen am 19. Sep 2003 · letzter Beitrag vom 23. Sep 2003
Antwort Antwort
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#1

feste Größe beim Drucken

  Alt 19. Sep 2003, 11:16
Ich möchte ein Rechteck ausdrucken, dass immer die Gleiche Größe (Kantenlänge in cm) hat.
Da aber die PageWidth und Height von Drucker zu Drucker unterschiedlich sein kann (auf Grund der DpI Zahl?!), finde ich zur Zeit keinen Ansatz.
Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#2

Re: feste Größe beim Drucken

  Alt 19. Sep 2003, 15:09
Weiß denn jemand wie man die eingestellte DpI Zahl ermittelt?
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3

Re: feste Größe beim Drucken

  Alt 19. Sep 2003, 16:02
Hallo Tpercon,

da wirst Du Dich wohl in die Tiefen der Win-API begeben müssen. Nur ein paar Stichworte: SetMapMode, GetDCEx, GetSystemMetrics , ...
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#4

Re: feste Größe beim Drucken

  Alt 23. Sep 2003, 10:38
Habe mich gestern versucht damit zu befassen, doch leider nichts irgendwie in die Richtung DPI herausbekommen. Daher bin ich wieder ganz am Anfang.
Hat vielleicht jemand noch ein genaueres Beispiel oder sonst einen Rat?
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: feste Größe beim Drucken

  Alt 23. Sep 2003, 12:42
für ein 300 * 100 großes Rechteck versuche:

rechteck.top: frei wählbarer Abstand zum oberen Bildrand;
rechteck.left: frei wählbarer Abstand zum linken Bildrand;
rechteck.right: rechteck.left + Printer.pagewidth div 1024 * 300;
rechteck.bottom; rechteck.top + printer.pageheight div 768 * 100;

Das natürlichnur für den Fall, dass das Rechteck auf der Auflösung 1024 * 768 eine vorteilhafte Größe hat.
Das ist allerdings unabhängig von deiner Bildschirmauflösung. Kannst die Zahlen ja auch ändern.
Die einzige Abweichung die du jetzt bei der Rechteckgröße noch bekommen solltest ist der %-Satz den der jeweilige Drucker gegenüber einem anderen Drucker an Rahmen mehr oder weniger um das Papier macht.

Hoffe das hilft dir ein bisschen!
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#6

Re: feste Größe beim Drucken

  Alt 23. Sep 2003, 13:59
Wieso soll das rein logisch, dann überall gleich groß sein
Auf einem Drucker, der mit 600 DPI druckt ist es doch kleiner, als auf einem der 300 DPI druckt. Du änderst doch nur nen Faktor?!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: feste Größe beim Drucken

  Alt 23. Sep 2003, 14:09
also wenn ich die Frage recht verstanden hab müsste es gehen wenn du mit

SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);

die einheit der Printer Canvas auf 1/10 mm stellst.
danach solltest du mit

printer.Canvas.FillRect(0,0,100,-100);

ein Quadrat aufm Blatt haben das 1 cm mal 1cm groß ist unabhängig von der dpi zahl des druckers
Jens
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#8

Re: feste Größe beim Drucken

  Alt 23. Sep 2003, 14:24
Ich probier es heute Abend gleich aus, wobei ich gestern eigentlich schon damit rum probiert hatte.
Wobei ich hatte das "Positive x is to the right; positive y is up." nicht beachtet und nur positive Werte genommen. Das leere Blatt kann also daher kommen.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: feste Größe beim Drucken

  Alt 23. Sep 2003, 17:47
@typercon
Das stimmt nicht.
wenn die Auflösung des Druckers Niedriger ist, dann ist die auch die Pagewidth/height niedriger und damit wird der quotient von den seitenmaßen und der Auflösung kleiner, was zur folge hat, dass das produkt von der Auflösung des Rechtecks und dem Quotienten entsprechend niedriger ist, bei einer niedrigen Druckauflösung also genauso gross wie bei einer höheren. Toll Wa?? Hab ich auch ne weile dran geackert bis ich das mal in mein Hirn reingepresst hatte. 8)

Vielleicht probierste das einfach mal!
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  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 16:13 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