-         
+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Drucker ansprechen mit PCL - farbige Rastergrafik

  1. #1

    Drucker ansprechen mit PCL - farbige Rastergrafik

    Hallo

    Ich programmiere gerade einen ATMega64 (tut eigentlich nix zur Sache), der sich u.a. direkt mit dem Drucker unterhalten soll...Das
    klappte auch schon ganz prima...er hat eine Art Bitmap im Speicher zu liegenund schickt die dann Byteweise zum Drucker - jedes Bit repräsentiert hierbeiein Pixel (also Schwarz oder Weiss)

    Nun will ich, dass auch EINFACHE farbige Rastergrafiken gedruckt werden
    können. Aufgrund der dürftigen Dokus dazu fehlt mir allerdings im Moment
    noch der richtige Ansatzpunkt.

    Also angenommen, ich habe die Grafik als normales 3Byte RGB Bitmap im
    Speicher und ich will das drucken, was muß ich dafür tun, d.h. wie mache ichdem Drucker klar, dass jetzt 3 gesendete Bytes ein Pixel
    repräsentieren....Dabei sind Sachen wie Gammakorrektur und Kompression fürmich nebensächlich - es soll so einfach wie möglich laufen...aber im Moment,weiß ich nicht, wie das prinzipiell läuft..

    Folgende Befehle habe ich dazu gefunden:

    Start Raster Grafik Esc * r 0 A
    Set number of raster planes per row Esc * r 3 U (für RGB Palette)
    Transfer Number of bytes Esc * b # W [data]
    Transfer graphics data by plane Esc * b # V [data]

    Ich weiß im Moment nicht, in welcher Weise diese Befehle zu senden sind,
    damit die Sache farbig wird. Stimmt es, dass ich vorher die RGB-Palette
    wählen muß? Schließen sich "Esc * b # W [data]" und "Esc * b # V [data]" aus
    oder mssen die irgendwie sinnvoll kombiniert werden???


    Es wäre sehr nett, wenn mir irgendjemand in dieser Sache etwas helfen könnte.

    Für eure Bemühungen bedanke ich mich bereits im Voraus.
    Danke.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    32
    Beiträge
    614
    Ich kann dir da leider nicht weiterhelfen. Aber vielleicht kannst du mir ja helfen: Benutzt du einen ganz normalen Parallelport(und geht das mit allen Druckern gleich?)? Wo gibt's dazu Infos (schwarzweis würde mir völlig reichen)?
    Kannst du mal die minimalen Anforderungen an Ports und Speicher des Controllers auflisten?
    mfg, Gottfreak
    it works best if you plug it (aus leidvoller Erfahrung)

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    32
    Beiträge
    614
    ???
    Ich hab' gestern eine Benachrichtigung erhalten, dass eine Antwort in diesem Threat vorliegt. Der Link aus der Mail führte auch tatsächlich hierhin und es gab einen weiteren Beitrag(nach meinem letzten). Jetzt sehe ich hier keinen mehr und der Link aus der Mail führt zu: "Das gewählte Thema oder der Beitrag existiert nicht."
    Der Beitrag bestand fast nur aus der Feststellung, dass die Angabe, welcher Drucker es denn bitte sein mag, fehlt. Hat den tatsächlich wer gelöscht oder ist das ein Bug im Forum?
    it works best if you plug it (aus leidvoller Erfahrung)

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.03.2004
    Beiträge
    259
    komisch gottfreak ich beobachte diesen thread ebenfalls aber ich hab keine benachrichtigung bekommen also halt gerade eben erst weil du ja was geschrieben hast...

    Grind

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Freiberg
    Alter
    55
    Beiträge
    237
    Hallo, das ist kein Bug, sondern meine Dösigkeit, hatte den Beitrag gelesen und dann eine Frage gestellt, die sich aber aus dem Thema, das ich dann glücklicher Weise danach gelesen habe, erledigt hatte.

    Hatte keine Ahnung, daß sofort die Informationen weitergeleitet wurden. Sorry.

    Warum kann man hier eigentlich keine Leerzeichen verwenden, damit eine ordentliche Tabelle entsteht?

    Wenn ich das richtig verstehe, steckt die Farbe in der Komprimierung.
    Code:
    Rastergrafik
    ------------
    
      Funktion            Befehl                               Parameter          
    
      Auflösung           ESC *tnR                       (r)   n                  
                          Dez.:  027 042 116 n 082     (114)   75  = 75 Punkte/   
                          Hex.:  1B 2A 74 n 52          (72)         Zoll         
                                                               100 = 100 Punkte/  
                                                                     Zoll         
                                                               150 = 150 Punkte/  
                                                                     Zoll         
                                                               200 = 200 Punkte/  
                                                                     Zoll         
                                                               300 = 300 Punkte/  
                                                                     Zoll         
                                                               600 = 600 Punkte/  
                                                                     Zoll         
    
      Rastergrafik        ESC *rnF                       (f)   n                  
      Darstellung         Dez.:  027 042 114 n 070     (102)   0 = Bild drehen    
                          Hex.:  1B 2A 72 n 46          (66)   3 = Kompatibel     
                                                                   zum Quer-      
                                                                   format des     
                                                                   LJ-Druckers    
    
      Beginn              ESC *rnA                       (a)   n                  
      Rastergrafik        Dez.:  027 042 114 n 065     (097)   0 = Linker Rand    
                          Hex.:  1B 2A 72 n 41          (61)   1 = Aktuelle       
                                                                   Cursorposition 
    
      Y-Versatz des       ESC *bnY                       (y)   n = Anzahl der     
      Rasters             Dez.:  027 042 098 n...n 089 (121)   Rasterlinien,      
                          Hex.:  1B 2A 62 n...n 59      (79)   vertikale Bewegung 
    
    
      Komprimierung der   ESC *bnM                       (m)   n                  
      Rasterdaten         Dez.:  027 042 098 n 077     (109)   0 = Uncodiert      
                          Hex.:  1B 2A 62 n 4D          (6D)   1 = Lauflängen-    
                                                                   codiert        
                                                               2 = TIF-Format     
                                                               3 = Delta Row      
                                                               5 = Adaptive       
                                                                   Komprimierung  
    
      Rasterdatenüber-    ESC *bnW[Daten]                      n = Anzahl der     
      tragung pro Zeile   Dez.:  027 042 098 n...n 087             Bytes          
                          Hex.:  1B 2A 62 n...n 57                                
    
      Ende                ESC *rn               (b) bzw. (c)   n                  
      Rastergrafik        Dez.:  027 042 114 n (098)bzw.(099)  B = Alte Fassung   
                          Hex.:  1B 2A 72 n   (62) bzw. (63)   C = besser         
    
      Rasterhöhe          ESC *rnT                       (t)   n = Anzahl der     
                          Dez.:  027 042 114 n...n 084 (116)       Rasterzeilen   
                          Hex.:  1B 2A 72 n...n 54      (74)                      
    
      Rasterbreite        ESC *rnS                       (s)   n = Anzahl der     
                          Dez.:  027 042 114 n...n 083 (115)       Pixel der      
                          Hex.:  1B 2A 72 n...n 53      (73)       gegebenen      
                                                                   Auflösung
    Die Befehle scheinen also erst mal anzugeben, welche Eigenschaften die Grafik hat, dann kommt der Beginn der Grafik, und danach wird sie zeilenweise in der angegebenen Breite zum Drucker gesendet. Im Grafikformat scheint die Farbe eben mit drin zu sein. Danach der Befehl zum Beenden der Rastergrafik.

    Gruß

    Torsten

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •