有关图象打印的问题

memeng 2002-10-16 10:06:39
我做了个dll,传递参数为TCanvas *pCanvas,让dll打印Canvas的内容。
TPrinter *p = Printer();
p->BeginDoc();
p->Canvas->CopyRect(dRect,pCanvas,Rect(0,0,SourceWidth,SourceHeight));
p->EndDoc();

现在逐步调试执行,打印成功,直接运行就打出来一张白纸,这是为什么?
是不是和图的大小有关系?
...全文
50 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
memeng 2002-10-16
  • 打赏
  • 举报
回复
comanche,能给一段代码吗?十分感谢.........
gfh21cn 2002-10-16
  • 打赏
  • 举报
回复
是的,有的打印机是不支持某些打印函数的

这个在《c++ builder 5程序设计大全》上看到过
具体如何解决倒是给忘了,呵呵


comanche 2002-10-16
  • 打赏
  • 举报
回复
这跟打印机能力有关,delphi 用的是 DDB (设备相关位图)进行操作,而大多数打印机不支持这样的操作,解决办法是先把内容拷贝到一个 bitmap 后, 设 HandleType 成 DIB,再打印;更好的办法是建立 emf 文件打印

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧