64 位 Vista 中 GDI 生成字体的问题
我们正在构建一个自定义输出显示对话框。在其中,我们在列表框中显示缩略图(位图)。还有一个更大的详细视图,它是从 PrintPreviewEventArgs (PreviewPrintController) 检索并显示在 WindowsFormsHost:PictureBox 中的 GDI 矢量图像。缩略图位图是根据原始 GDI 图像创建的,因此看起来图像在某个时刻确实包含文本。
在 32 位机器上一切正常。当我们在 64 位计算机上运行应用程序时(我们针对 x86 平台进行构建,因此我们在 32 位模拟器中运行),缩略图很好,但主图像缺少所有文本。图形元素——线条、表格边框和背景颜色等被渲染,但没有文本。
有任何想法吗?谢谢。
We’re building a custom output display dialog. In it we display thumbnails (bitmaps) in a listbox. There is also a larger, detail view which is a GDI vector image retrieved from PrintPreviewEventArgs (PreviewPrintController) and displayed in a WindowsFormsHost:PictureBox. The thumbnail bitmaps are created from the original GDI image, so it would appear that the image did contain the text at some point.
All is fine on a 32-bit box. When we run the app on a 64-bit machine (we build targeting an x86 platform so we're running in the 32-bit emulator), the thumbnails are fine, but the main image is missing all text. The graphic elements - lines, table borders and background colors, etc are rendered, but no text.
Any ideas? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该问题与打印期间使用 TextRenderer.DrawText 而不是 Graphics.DrawString 有关。
The problem had to do with using TextRenderer.DrawText instead of Graphics.DrawString during the print.