Bitmap in Farbe drucken

Still in use?

Moderator: Moderatoren

Antworten
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Bitmap in Farbe drucken

Beitrag von Magic »

Juten Tag Allerseits!

Ich habe hier ein altes Clipper Programm dass ich anpassen muss.
Aus dem Programm wird ein Formular gedruckt, welches u.a. eine farbige .BMP enthält.
Jetzt kenn ich mich mit Drucken in Verbindung mit Clipper nicht so aus :roll:
Das Ding wird immer S/W bzw. in Graustufen (so genau kann ich es nicht bestimmen) gedruckt.

Frage(n):
* ist Drucken in Farbe mittels Clipper überhaupt möglich?
* ggf. an welcher Stelle musste ich da suchen?
Habe schon den Quellcode durchforstet, stoße aber auf keinen Hinweis der irgendwas mit Farbe bzw. Graustufen zu tun hat.

Hätte vielleicht jem. für mich einen Tipp?
Gruß,
Magic
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Bitmap in Farbe drucken

Beitrag von brandelh »

Clipper und andere DOS Programme konnten nur dann Bilder drucken, wenn der Drucker das unterstützt hat (heute unterstützten alle zumindest Graustufen).
Mit einem s/w Nadeldrucker (IBM Proprinter) waren die Möglichkeiten natürlich deutlich schlechter als mit einem Epson ESC/P oder PCL4 Farblaser ;-)

Früher gab es zu jedem Drucker ein dickes Handbuch und so ab der Mitte gab es die Info über die nötigen SteuerZeichen (codes) für verschiedene Funktionen (Fett ein/aus, Unterstreichen ein/aus etc.), so sah in Clipper (oder auch Basic ...) eine Druckzeile aus:

? chr(27)+"!0132434"+chr(5)+cMeineTextVariable ... // chr(27) => ESC ist die Einleitung eines Befehls auf einem ESC/P (Epson) Drucker ... der Rest einfach ein Beispiel ohne Sinn ;-)

Sprich, der Drucker hängt an LPT1 (alte Druckerschnittstelle), kann selbst eine bestimmte Druckersprache (ESC/P, PCL) und du musst genau die richtige Bytefolge generieren und an den LPTx Port senden. Eine Grafik musste meinst selbst in 8 oder 16/24 Senkrechte Punkte der aktuellen Zeichenposition einer Druckzeile umgerechnet werden, da kommt freude auf ;-)

Aus heutiger Sicht eine Sklavenarbeit wenn man XbpPrinter Objekte (egal ob nativ oder über meine Klasse) gewohnt ist.
Viele heutige Drucker hängen an USB Schnittstellen und die Druckertreiber unter Windows unterstützten ausschließlich Windowsdrucken.

Wie so häufig ist meine Empfehlung mit Xbase++ auf die Schnelle umsetzen: LOGIK und notfalls Optik übernehmen, aber fürs Drucken die neuen Möglichkeiten nutzen.

Ich habe hier übrigens noch eine DBF mit verschiedenen Druckersteuercodes verschiedener Drucker rumliegen ... falls es doch Clipper sein muss ;-)
Grafiken habe ich unter Clipper nie gedruckt !

PS: die Steuerzeichen muss man im Programm in jeweils 3 Zeichen aufteilen und mit chr(ASC(c3ZeichenFolge1)) + chr(ASC(c3ZeichenFolge2)) + chr(ASC(c3ZeichenFolgeN)) übersetzen
Wir hatten damals auch Termodrucker, die ohne viel Aufwand aus dieser Zeile einen perfekt aussehenden Text gedruckt haben, die Nadeldrucker waren meist nicht so schön ;-)

Code: Alles auswählen

set console off
set printer to LPT1 // auch auf Netzwerkdrucker nach NET USE LPT2 \\server\drucker
set printer on 
? "Hallo Welt, das ist mein erster Ausdrucke"
set printer off
set printer to 
set console on
Dateianhänge
DRU_CODE.zip
(1.71 KiB) 410-mal heruntergeladen
Gruß
Hubert
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: Bitmap in Farbe drucken

Beitrag von Magic »

Ich muss mir das wohl kommende Woche genauer anschauen.
Bisher ist es so, dass ich einen beliebigen Windows Drucker auswählen kann.
Gruß,
Magic
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Bitmap in Farbe drucken

Beitrag von brandelh »

Aus einem Clipper Programm ?

Wenn der Windowsdruckertreiber den DOS Druck unterstützt (meist teuere PCL Laser) und man diesen an LPT hängt, oder im Netz freigibt und per NET USE zuordnet,
dann kann Clipper diesen nutzen. Wenn man jeden Billigdrucker nehmen kann ohne auf LPT zu achten, dann ist das sicher kein Clipper-Programm mehr.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Bitmap in Farbe drucken

Beitrag von AUGE_OHR »

Magic hat geschrieben:Frage(n):
* ist Drucken in Farbe mittels Clipper überhaupt möglich?
* ggf. an welcher Stelle musste ich da suchen?
Habe schon den Quellcode durchforstet, stoße aber auf keinen Hinweis der irgendwas mit Farbe bzw. Graustufen zu tun hat.
von welcher Version Cl*pper sprechen wir ?

ab der Version v5.x gab "Sound & Vision" welches als 3-PP LIB auch "Grafik" konnte.
in der Version v5.3 gab es die LightLIB die grafische Elemente hatte aber ob man damit drucken konnte ...
nun gibt es auch noch Vouch32 womit man Cl*pper mit Windows Elementen ausstatten konnte und auch auf die Windows Drucker Zugriff hat.

also siehe mal in deine *.LNK ob dort 3-PP LIBs angegeben sind.

auch stellt sich dann die Frage "was" für ein Image du ausdrucken willst ?
Ich hatte damals schon Problem mit den verschiedenen Version von BMP wobei MS$ Paint (von W98se) die "richtigen" lieferte.
gruss by OHR
Jimmy
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: Bitmap in Farbe drucken

Beitrag von Magic »

brandelh hat geschrieben:Aus einem Clipper Programm ?
AUGE_OHR hat geschrieben:von welcher Version Cl*pper sprechen wir ?
Ja, Clipper 5.3.
AUGE_OHR hat geschrieben:also siehe mal in deine *.LNK ob dort 3-PP LIBs angegeben sind.
So wie ich es sehe könnte diese Interessant sein:

Code: Alles auswählen

@clprofiw.inc

LIB CLIP4WIN
LIB TOPCLASS
LIB C4WCLASS

LIB CLIPPER
LIB EXTEND
LIB TERMINAL
LIB DBFNTX
AUGE_OHR hat geschrieben:auch stellt sich dann die Frage "was" für ein Image du ausdrucken willst ? Ich hatte damals schon Problem mit den verschiedenen Version von BMP wobei MS$ Paint (von W98se) die "richtigen" lieferte.
Wusste nicht, dass es da so gravierende Unterschiede gibt.
Gruß,
Magic
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Bitmap in Farbe drucken

Beitrag von brandelh »

Sorry, ich habe mit der letzten Clipper 5.x (ich meine 5.2e ?) aufgehört.

Soweit ich weiß ist Clip4Win eine Zusatzbibliothek, mit der man Windows EXE generieren konnte (vermutlich 16 bit für 3.1 ?).
Die beiden anderen Tools könnten auch speziellen code enthalten ...

Meine Aussagen betreffen ausschließlich Clipper 5.x PUR, sind also für dein Problem unerheblich.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Bitmap in Farbe drucken

Beitrag von AUGE_OHR »

Magic hat geschrieben:Ja, Clipper 5.3.
die Version wird von Xbase++ nicht "voll" unterstützt.
Magic hat geschrieben:So wie ich es sehe könnte diese Interessant sein:

Code: Alles auswählen

@clprofiw.inc

LIB CLIP4WIN
LIB TOPCLASS
LIB C4WCLASS

LIB CLIPPER
LIB EXTEND
LIB TERMINAL
LIB DBFNTX
alles klar : Clip4Win
ich müsste mal im Handbuch nachsehen wie/ob man Bitmaps in Farbe drucken kann
Magic hat geschrieben:Wusste nicht, dass es da so gravierende Unterschiede gibt.
am Anfang hiess das DOS Programm doch "PaintBrush" und hat mit PCX Datei gearbeitet welche 8bit(?) Farbtiefe hatte.
in Win95 hiess es IMHO auch noch so hatte aber BMP als Extension bekommen und das Format konnte Cl*pper mit den 3-PP LIBs.

bei Clip4Win gehe ich davon aus das es 16bit Farbtiefe können sollte, also evtl. deine aktuellen Bilder runter konvertieren.
gruss by OHR
Jimmy
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: Bitmap in Farbe drucken

Beitrag von Magic »

AUGE_OHR hat geschrieben:bei Clip4Win gehe ich davon aus das es 16bit Farbtiefe können sollte, also evtl. deine aktuellen Bilder runter konvertieren.
Das habe ich bereits probiert; ohne Erfolg.
AUGE_OHR hat geschrieben:ich müsste mal im Handbuch nachsehen wie/ob man Bitmaps in Farbe drucken kann
Das wäre toll, denn ich habe hierfür nichts mehr vorliegen.

Ich gehe immer noch davon aus, dass es im Programm einen "Schalter" oder Ähnliches geben muss, mit dem es gesteuert wird, aber egal wie oft ich das durchsuche finde ich nichts Verdächtiges.
Gruß,
Magic
Antworten