![]() |
100tel Millimeter dicke Linie drucken
Wie kann ich eine Linie in 100tel Millimeter drucken?
Bzw. ein TRect in 100tel Millimeter drucken??? die einheit habe ich bereits per
Delphi-Quellcode:
umgestellt.
SetMapMode(printCanvHandle, mm_himetric);
|
Re: 100tel Millimeter dicke Linie drucken
Garnich... Weil kaum ein Drucker so eine dünne Linie drucken kann. Die Anzeige auf dem Bildschirm wäre auch nicht möglich.
|
Re: 100tel Millimeter dicke Linie drucken
das soll an einen laser ausgegeben werden... der kann sowas.
ist für nen kumpel der ne gravurfirma hat. |
Re: 100tel Millimeter dicke Linie drucken
der soll ja nicht genau 1/100 millimeter breit sein, sondern x/100 millimter..... es kommt dabei ja auf die genauigkeit an.
|
Re: 100tel Millimeter dicke Linie drucken
Willst du das dann Drucken, später wieder einscannen und dann dem Laser vorlegen??? Es wäre doch sinnvoller, wenn du dir sagen lässt in welchem Dateiformat der Laser seine Daten will und dann solche Dateien zu produzieren. Wenn's um Rechtecke geht, geh ich mal davon aus, dass der Laser wie eine Fräse nur die Eckpunkte haben will.
|
Re: 100tel Millimeter dicke Linie drucken
der typ meinte dass ich mir das wie ne ausgabe an den drucker vorstellen muss.
dabei wird das vom programm aus direkt an den laser übergeben. nix drucken und wieder einscannen. der laser kann wohl angeblich mit den maßen 1/100 Millimeter umgehen. ich gebe im programm die breite des strahls in 1/100 mm an und muss nun irgendwie mit einem rechteck/linien/eckpunkte einen umriss "zeichnen" den der laser abfahren soll. aber wie zeichnet man auf dem druckercanvas in dieser einheit? trect und lineto verlangen ja alle pixel?! |
Re: 100tel Millimeter dicke Linie drucken
wollt ihr mir also sagen dass ein zeichnen in 100tel millimeter dicke auf dem druckercanvas absolut unmöglich ist?
|
Re: 100tel Millimeter dicke Linie drucken
Warum sollte das denn möglich sein? Es ist doch unnötig und nicht ressourcenschlonend in eine Bitmap Infos reinzuschreiben, die keinen Drucker interessieren, da er so fein nicht drucken kann.
Vielleicht kannst du dem Laser ja sagen, dass ein Pixel für ihn 1/1000 mm sein soll. |
Re: 100tel Millimeter dicke Linie drucken
Ich kann mir nicht vorstellen, dass der Laser wirklich über einen Druckertreiber funktioniert. Son Ding hat ja ausser den x/y auch noch ne Tiefe durch die Beschussdauer. Dass es "so ähnlich" funktioniert, mag ja stimmen, aber "so ähnlich" ist nicht genauso. Lass dir doch erstmal die genauen Spezifikationen der Schnittstelle geben, bevor du in ner völlig falschen Richtung suchst.
|
Re: 100tel Millimeter dicke Linie drucken
ich werd mir das mal haargenau erklären lassen. meld mich dann wieder.
|
Re: 100tel Millimeter dicke Linie drucken
ich habe nochmal nachgefragt und folgende Antwort bekommen:
Zitat:
|
Re: 100tel Millimeter dicke Linie drucken
Hast Du schon mal versucht, vom Hersteller des Gerätes eine Beschreibung der Befehle zu erhalten? Vielleicht hat er spezielle ...
Gruß Harald |
Re: 100tel Millimeter dicke Linie drucken
Auf Nachfrage habe ich noch folgende Antwort bekommen:
Zitat:
|
Re: 100tel Millimeter dicke Linie drucken
mit
Delphi-Quellcode:
stellst du die maßeinheit von pixel auf 100tel Millimeter um. Desweiteren ist zubeachten das die y-Achse im Minusbereich ist.
SetMapMode(printCanvHandle, mm_himetric);
Mit
Delphi-Quellcode:
würdest du also erreichen das eine Line gemalt wird die auf der ausgabe 0 Millimeter von Links, 2 mm von oben bis 4 mm link und 2 mm oben geht.
Printer.Canvas.MoveTo(0, -200);
Printer.Canvas.Line(400, -200); Also nochmal zusammgengefasst, mit den beiden befehlen (und der vorherigen umstelle der auf mm_himetric), erreichst du das eine Linie von X: 0mm Y: 2mm nach X: 4mm Y: 2mm ausgegeben wird. Du kannst das ganze ja auch erstmal mit der ausgabe auf einem normalen blatt probieren. Als beispiel auf einem normalen Blatt würde sich dann folgendes eignen:
Delphi-Quellcode:
Damit solltest du dann auf dem Blatt den Text "Testtext" sehen welcher 1 cm (1000 100ersten millimeter) hoch ist und 2 cm vom linken Rand entfernt ist.
Printer.Canvas.Font.Height := 1000;
Printer.Canvas.TextOut(2000, -2000, 'Testtext'); |
Re: 100tel Millimeter dicke Linie drucken
das ist ja soweit alles klar. nur geht es um die linienstärke!
bzw die linienstärke bei einem TRect. |
Re: 100tel Millimeter dicke Linie drucken
mit pen.width kannst du die Linienstärke setzen. bzw. kannst du auch mehrmals die linie nebeneinander malen.
|
Re: 100tel Millimeter dicke Linie drucken
stimmt ja, ich habe immer nur daran gedacht dass pen.width ja in pixel gemessen wird. habe ja aber bereits in 1/100 mm umgestellt. :wall:
habe mal ne testversion fertig gemacht und mal sehen was der werte herr dazu sagt. danke erstmal soweit |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz