At 11:01 Uhr +0200 16.05.2002, Roberto Molari wrote:
>HI list,
>
>I'm making a print beahvior with Print o matic but I 've got a problem: when
>I try to print the stage (drawStagePicture) and the color depth is 16 bit on
>my HP printer the output is blank!
>Help me please! I 've read the techical notes on Electronic Ink website,
>they say that it's a printer driver problem....
>It happens only on Windows 9X OS, with Windows 2000 it works fine

if you don't want your users to mess around with printer driver 
updates, which is supposed to fix the problem with HP printer drivers 
and 16-bit bitmaps, you'll have to create 32bit bitmaps to print.
so instead drawStagePicture, which results in a bitmap of the depth 
the monitor is set to, you have to create a 32 bit image object, 
copyPixels the stage.image to and print a temporary created #bitmap 
castmember, which you assign the image object, with POM.

on mConvertBitDepth imageObject, depth
   if imageObject.depth = depth then return imageObject
   r = imageObject.rect
   i = image(r.width, r.height, depth)
   i.copyPixels(imageObject, r, r)
   return i
end

now you can do something like:

newBitmap = member("tempPrintBuffer")
if newBitmap.type <> #bitmap then -- create a bitmap, if it doesn't 
already exist from previous prints
   newBitmap = new(#bitmap)
   newBitmap.name = "tempPrintBuffer"
end if

newBitmap.image = mConvertBitDepth((the stage).image, 32)

printBitmapWithPOM newBitmap -- <- your custom handler to print a 
bitmap with POM
-- either POM.drawPicture() or POM.append()
-- 

   |||
a�ex
  --
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]

Reply via email to