Announcement

Collapse
No announcement yet.

Need some advice guys...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Need some advice guys...

    Hello,

    As I mentioned in an earlier post, I am working on some software to print very long bitmaps to a DesignJey plotter. In some cases the bitmaps we want to print will be about 550 inches long. The bitmap needs to be continuous so this poses a big problem. How on earth am I gonna print a bitmap that long when I cant even read it into memory. Just for the record the actual bitmap size is...

    Width: 2400 (300dpi x 8 inches)
    Height: 165000 (300dpi x 550 inches)
    Size: 396,000,000 bytes (396meg!)


    Any advice would be greatly apreciated!

    ------------------
    Cheers

  • #2
    Mark;

    Many printers support Banding !

    For example, with banding you can print to a dot matrix,
    row by row without the need to format the entire page.

    I would think some kind of banding would be required by your app
    to print such a larger Bitmap. Not all printers support banding
    though, so likely you will have to use GetDeviceCaps to test this.

    Use :

    Code:
    PBand&=GetDeviceCaps(%RASTERCAPS)
    IF (PBand& AND %RC_BANDING)=%RC_BANDING THEN
         ' Printer can do banding
         PCap1&=GetDeviceCaps(%RC_BITMAP64)
         IF (PCap1& AND %RC_BITMAP64)=%RC_BITMAP64 THEN
         ' Printer can handle Bitmaps larger than 64 KB
    
         END IF
    END IF
    ------------------


    [This message has been edited by Chris Boss (edited March 01, 2001).]
    Chris Boss
    Computer Workshop
    Developer of "EZGUI"
    http://cwsof.com
    http://twitter.com/EZGUIProGuy

    Comment


    • #3
      Mark,

      I was curious with your earlier post of using a plotter. Plotters have commands
      for drawing lines, circles, curves, etc. When I was working in aerospace, using
      just a first generation PC tied to an HP plotter, I just defined the x,y points
      and the line generation sequence to draw the figure. I cannot imagine why bitmaps
      would be required. I thought that that was the difference between printers and
      plotters, printers need bitmaps and plotters don't.

      This reply is just a product of my curious nature...


      ------------------

      Comment


      • #4
        Hello Charels,

        The HP DesignJet uses ink jets to print large bitmaps. We are in the process of printing some very detailed striplogs and as a result pen plotters just dont cut it. I know that HP has vector based/postscript language support but the logs we have are only in a bitmap/raster form.

        Chris,

        I have already looked if banding is supported but it isnt with this printer. I have encoutered another problem in that the device caps. reports that STRETCHBLIT is supported but when I try and use it I get blank pages. But regular BITBLT does work.


        Back to the drawing board...

        ------------------
        Cheers

        Comment


        • #5
          Mark;

          I would have to assume that even though the Plotter can print
          continuously (a roll of paper), Windows must be able to view it as Pages.

          Go to the Printer Properties Dialog and see what setting there are
          for Paper size or Page size.

          Build your large printout by treating it as multiple pages.
          Use BitBlit to build one "small" page at a time.

          Likely there is no minimum margin for the vertical axis on a
          plotter, so you can literally print from page to page, but still
          have it continuous (at least in theory). Its kind of like printing
          on a dot matrix to produce banners using roll paper.

          You have to break down the job into smaller pieces or else the
          windows print spooler would end up dealing with huge files.

          I would also start and end each page with StartDoc and EndDoc, so
          they become separate print jobs, so Windows can start printing right away.
          A lot depends upon how the plotter handles the end of page command
          (does it automatically move the paper some space ?).



          ------------------
          Chris Boss
          Computer Workshop
          Developer of "EZGUI"
          http://cwsof.com
          http://twitter.com/EZGUIProGuy

          Comment


          • #6
            Hey Chris,

            I have already tried StartPage EndPage and I ended up with 1 inch page breaks between each "page". Any ideas on how to change those nasty margins. I have been searching the web all day to try and find some examples of how to do this the "right" way but I have been rinning into brick walls. There is absolutly no source code out there...

            ------------------
            Cheers

            Comment


            • #7
              Windows API printing is "page based", so you would probably have to set the page size to 550 inches in length (assuming you can actually set the paper size this large, and that the driver can cope with such a large spool file!).

              Are you a member of the H/P Developer Program? When I joined it was free (although I had to sign a non-disclosure), and they provided me with two CDROM's containing very comprehensive programming information on all their printers available at the time (circa 1998). It did not cover API printing although that situation could have changed by now - I've never needed to obtain a newer set of CDROM's.

              They may still offer similar information to developers using their plotters - it would certainly be worthwhile asking them about it. Afterall, if they cannot advise you how to solve problems such as this, well...


              ------------------
              Lance
              PowerBASIC Support
              mailto:[email protected][email protected]</A>
              Lance
              mailto:[email protected]

              Comment


              • #8
                Take a wander to http://www.hppartners.com/hpdev/printing_imaging.php3


                ------------------
                Lance
                PowerBASIC Support
                mailto:[email protected][email protected]</A>
                Lance
                mailto:[email protected]

                Comment


                • #9
                  Thanks Guys!


                  I'll lookup into this some more and tell you what I find!

                  ------------------
                  Cheers

                  Comment

                  Working...
                  X