Drucken (Grafik auf Canvas)

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

Kracher

Betreff: Drucken (Grafik auf Canvas)

BeitragDo, Jul 22, 2004 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann man (oder Frau) eine Grafik auf dem Standarddrucker ausgeben? Ich zeichne eine Grafik auf ein(e?) Canvas und möchte diese nun ausdrucken lassen.
Danke für die Hilfe

-Kracher- Confused

simi

BeitragFr, Jul 23, 2004 10:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
es gibt da so eine BlitzPrint DLL. Weil ich sie im Internet nicht gefunden habe, habe ich sie auf mein Webspace getan.
Arrow http://home.datacomm.ch/dtgeis...intDLL.zip

Da du ja Blitz+ hast kannst dus auch mit userlibs versuchen:
Arrow http://www.blitzbasic.com/Comm...opic=30384

Jetzt da du ja ein Bild drucken willst, musst du jedes Pixel auslesen, und dann mit einem Quadrat "drucken". Es gibt also keine Funcktion Bild drucken. Ob man mit den userlibs auch Grafik drucken kann, weiss ich nicht.

Am Besten schaust du Dir das Beispiel 4 an, dann kommst du warscheinlich besser nach, was ich meine.

cu simi

simi

BeitragFr, Jul 23, 2004 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
HI,
Ich habe jetzt noch schnell eine Funktion zum drucken von Bildern geschrieben...:
Code: [AUSKLAPPEN]

Include "Printer.bb"

numPrint = EnumeratePrinters()  ;get the printer names of all printers on this system


opened = OpenPrinter(Printers$(1))

NewDoc()

NewPage()

Global Bild = LoadImage("DeinBild.***")

PrintImage(Bild,10,10,20)             ;Hier musst du wahrscheinlich die Canvas-Nummer anstatt Bild übergeben...

ClosePrinter()

CleanupPrinters()

WaitKey



Function PrintImage(Image,x,y,scale)
   LockBuffer ImageBuffer(Image)
   For x1 = 0 To ImageWidth(Image)-1
      For y1 = 0 To ImageHeight(Image)-1
         rgb = ReadPixelFast(x1,y1,ImageBuffer(Image))
         r=(rgb And $FF0000)/$10000
         g=(rgb And $FF00)/$100
         b=rgb And $FF
         PPenColor(r,g,b)
           PRectangle(x1*scale,y1*scale,x1*scale+scale,y1*scale+scale,1)
      Next
   Next
   UnlockBuffer ImageBuffer(Image)
End Function


Viel Spass

cu simi Very Happy

Kracher

BeitragMo, Jul 26, 2004 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Simi,
ich danke erst einmal für die Hilfe. Die DLL und die include Printer.bb funktionieren ganz gut. Wenn man in der Printer.bb die beiden Zeilen PRINT... rausnimmt, entfällt auch das Meldungsfenster im Stile einer DOS-Box.

Leider funktioniert deine Funktion nicht so. Ich kann auch nur ein Bild drucken. Eine Canvas-Nummer ? Ich hab das, mit dem Namen der Canvas, mal getestet aber keine Funktion erreicht.

Warum drucke ich in Rechtecken? Confused
Scale 20 funktioniert fast, bei Scale 10 habe ich nur einen Teil des Bildes.

Nun hab ich mir die USERLIB mal heruntergeladen:
http://www.blitzbasic.com/Comm...opic=34762

Ich teste mal rum. Dann melde ich mich

-Kracher- Rolling Eyes

simi

BeitragDi, Jul 27, 2004 10:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Also ich habs nie getestet mit dem ausdrucken, hab nur immer die Fine-Print-Vorschau angesehen...
Vielleicht liegts auch an Blitz+, dass nicht alles geht.
mit der Canvas-Nummer meinte ich eigentlich das Canvas-Handle, aber ich weiss nicht obs geht, kanns dann, wenn ich B+ bekommen habe, testen.

cu simi Confused
 

Dirk Knoop

BeitragMi, Jul 28, 2004 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Speichere das Bild doch als .bmp in einen Ordner und kopiere es mittels ExecFile an prt: oder war er prt1:

Gruß,

Dirk
www.kostenloser-fussballmanager.de
www.discaim.de - weil Spaß kein Zufall ist
www.torchance.de - ein etwas anderer Fußball-Manager

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group