Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Bitmap an den Drucker senden (https://www.delphipraxis.net/110139-bitmap-den-drucker-senden.html)

bluesbear 13. Mär 2008 18:03

Re: Bitmap an den Drucker senden
 
Zitat:

Zitat von Moony
Kannst du mir denn bei meinem Problem weiterhelfen????

Nicht wirklich, hab ich bei nem Drucker noch nie gemacht, müsste also selber experimentieren. Als erstes würde ich es ohne TCanvas versuchen. Also mit API Funktionen, die ein Handle nehmen. StretchBlt vielleicht?

jfheins 13. Mär 2008 18:20

Re: Bitmap an den Drucker senden
 
Besorg die mit getdc nen DeviceContext und hau dann mit stretchblt dein bild drauf - oder besorg die mit getdc nen DC und weise diesen an Canvas.Handle zu und benutzte dann das canvas ;)

Alle Angaben ohne Gewehr ähh ... Gewähr ^^ ;)

Moony 13. Mär 2008 18:27

Re: Bitmap an den Drucker senden
 
Wie mache ich das im Klartext? Die GetDC-Routine liefert mir doch ein Handle zurück.

jfheins 13. Mär 2008 18:33

Re: Bitmap an den Drucker senden
 
Schon, aber ein Handle auf einen DeviceContext !!

Du kannst ein Fenster haben, das hat ein Handle. Mit GetDC bekommst du nun das Handle für den Zeichenbereich, mit dem zu malen kannst ;)

Oder: Form1.Drawline geht ja auch nicht, obwohl es doch auch nur ein Objekt ist :zwinker:

bluesbear 13. Mär 2008 18:59

Re: Bitmap an den Drucker senden
 
Zitat:

Zitat von jfheins
Schon, aber ein Handle auf einen DeviceContext !!

Öhh... ja, das hatte ich unklugerweise vorausgesetzt, daß er so ein Handle am wickel hat.

jfheins 13. Mär 2008 20:57

Re: Bitmap an den Drucker senden
 
ich bin jetzt auch etwas durcheinander ... "druckerhandle" gibt bei Google nur 100 Treffer, also scheint das nicht gerade .... weit verbreitet ^^

Wenns ein Handle auf einen DeviceContext ist, kann man es zum zeichnen benutzen (z.B. in StretchBlt reinstecken) und wenn nicht, muss man sich eben ein passendes Handle besorgen. Wird übrigens häufig mit HDC referenziert (<> HWND)

Ist ja im Grunde ganz einfach, oder nicht? :gruebel:

Zur Not einfach Trial&Error: Wenns so nicht geht, mal mit nem GetDC(druckerhandle) probieren :stupid:

Moony 14. Mär 2008 08:28

Re: Bitmap an den Drucker senden
 
Ok,soweit verstanden. Dann hole ich mir ein Handle auf den DeviceContext so:

Delphi-Quellcode:
var myHDC : HDC;

  myHDC := GetDC(PrntHandle);
und wie gehts weiter? Das ist hier mein Problem. Entweder stehe ich hier auf der Leitung, oder ich weiß es nicht... :wall:

matashen 14. Mär 2008 09:55

Re: Bitmap an den Drucker senden
 
Machs über die Windows API dann klappts auch. Über Delphi Canvas ists Mist.

Ich hab hierzu schonmal was gepostet findest du hier

Moony 14. Mär 2008 10:07

Re: Bitmap an den Drucker senden
 
Laut deinem Post übergibst du an die Routine ein Canvas. Welches Canvas? Ich besitze lediglich das Handle für den Drucker bzw. Druckauftrag.

matashen 14. Mär 2008 10:29

Re: Bitmap an den Drucker senden
 
Naja dein Bild eben, das ist doch in einem Canvas zum Beispiel TBitmap, TImage(was auch wiederum Bitmap.canvas hat) etc.

Da ist doch genug Canvas

Gruß Matthias


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Seite 2 von 4     12 34      

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 by Thomas Breitkreuz