打印

Director 中打印出空白页的解决办法,

需要 printomatic xtra 支持。

虽然用printfrom 可以直接打印屏幕,可惜有些hp老机器打印出来空白页面。

打印屏幕的时候 因为屏幕图片的 位数跟屏幕分辨率有关系。
所以当屏幕分辨率不是8bit的时候,一些hp机器就印出空页了,这个是hp机器的毛病了。 健壮的程序如何解决这个问题呢??

用下面的代码可以解决
  
set doc = new (xtra "PrintOMatic") --建立 printomatic xtra 实体
  
if not objectP(doc) then
   Alert "There is no currently selected printer. Printing features are disabled."
else     
  cursor 4
   
  printMember = new(#bitmap)  --新建一个图片成员
  member(printMember).image=image(296,454,8) --设置新图片尺寸和位数 这里要抓的图片是 296,454 的图片大小
  member(printMember).image.copypixels((the stage).image,rect(0,0,296,454),rect((640-296)/2,(480-454)/2,(640+296)/2,(480+454)/2))  -- 拷贝舞台到这个新成员。

   setDocumentName doc, "QTest Score Print!"


  newPage doc
  append doc,member(printMember) --把这个图片加到 前面建立的 的 doc 实体

  cursor -1
   
  print doc  - 打印
   
  erase member(printMember)--清除 printmember
  set doc = 0   
   
  end if
  
end

--------------  未经 amith 许可不得转载 ---------------
本帖最近评分记录
看的人这么少呀,好可怜!!

Director 中,让印出来的图居在纸张的正中间的实现方法

在上面这个帖子的基础上

   setDocumentName doc, "QTest Score Print!"
   
    之后加上
    PaperW=getPaperWidth(doc)
    PaperH=getPaperHeight(doc)        
    setMargins doc, Rect((PaperW-296)/2,(PaperH-454)/2,0,0)