解决PrintOMatic xtra打印出空白页问题

上一篇 / 下一篇  2007-02-02 14:22:20 / 个人分类: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

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

在上面的基础上

setDocumentName doc, "QTest Score Print!"

之后加上
PaperW=getPaperWidth(doc)
PaperH=getPaperHeight(doc)
setMargins doc, Rect((PaperW-296)/2,(PaperH-454)/2,0,0)

TAG: Director

Sunshine的个人空间 引用 删除 sunshine   /   2007-02-04 13:06:22
AMITH辛苦了!
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-05  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 1120
  • 日志数: 5
  • 图片数: 4
  • 建立时间: 2007-02-01
  • 更新时间: 2008-04-07

RSS订阅

Open Toolbar