求大图像的显示和打印方案

yzhshty 2009-12-24 10:50:54
显示和打印大图像,BMP格式的,CreateDIBitmap和CreateCompatibleBitmap都可能会失败
打印的时候用StretchBlt和StretchDIBits也不保险,有的打印机会失败

求成熟的及解决方案!
问题解决了,分还可以再加,分多很
...全文
158 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzhshty 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cnzdgs 的回复:]
我是说先自己把图象缩小。
[/Quote]
比如,一个10000*10000个像素的图像,我先缩小到1000*1000像素,先不管质量的损失,假如要打印到1000*1000,dpi为1200的打印机上,那就要放大1200倍,打印机还是吃不消啊

cnzdgs 2009-12-24
  • 打赏
  • 举报
回复
我是说先自己把图象缩小。
yzhshty 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cnzdgs 的回复:]
把图象全部显示在屏幕上和打印在同一页上是吗?
自己读取并处理文件数据(可以用双线性插值),将图象缩小到一定尺寸,然后再StretchDIBits。
[/Quote]
是把大图像一次打印和显示。
StretchDIBits也会失败啊
你的意思是,StretchDIBits把一个图像放多大都没问题?只要控制源图像的尺寸,目标图像的尺寸可以不管?
cnzdgs 2009-12-24
  • 打赏
  • 举报
回复
把图象全部显示在屏幕上和打印在同一页上是吗?
自己读取并处理文件数据(可以用双线性插值),将图象缩小到一定尺寸,然后再StretchDIBits。
yzhshty 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 miaolingshaohua 的回复:]
没做过,可以分割然后再拼合不?^_^
个人意见!
大文件可以用类似方法分割再组合!
[/Quote]
估计基本就是要这样,但是需要个具体思路
哈利路亚1874 2009-12-24
  • 打赏
  • 举报
回复
没做过,可以分割然后再拼合不?^_^
个人意见!
大文件可以用类似方法分割再组合!
fleer 2009-12-24
  • 打赏
  • 举报
回复
好像CreateCompatibleBitmap是有大小限制的,三十多M还是多少来着,就失败了。我也想知道怎么做啊。我要画一个很大的图保存成一个文件,现在只好保存成一个一个的小图。
yzhshty 2009-12-24
  • 打赏
  • 举报
回复
看来这个问题难住各路英雄了
sandyandy 2009-12-24
  • 打赏
  • 举报
回复
是的, 大位图确实会失败, 以前遇到过
cnzdgs 2009-12-24
  • 打赏
  • 举报
回复
如果图象像素超过了打印机的点数,肯定是要把多个像素合并到一个点才能在一个页面打印出来的,这种失真是无法避免的。
yzhshty 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cnzdgs 的回复:]
参考这几个函数:SetMapMode、SetWindowExt、SetViewportExt。
[/Quote]
点阵图用这种坐标映射方式显示会失真吧?
yzhshty 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cnzdgs 的回复:]
参考这几个函数:SetMapMode、SetWindowExt、SetViewportExt。
[/Quote]
谢谢!我去研究下
cnzdgs 2009-12-24
  • 打赏
  • 举报
回复
参考这几个函数:SetMapMode、SetWindowExt、SetViewportExt。
cnzdgs 2009-12-24
  • 打赏
  • 举报
回复
SetMapMode
内容概要:本文详细介绍了一个基于C++语言开发的疫苗接种和儿童体检系统的设计与实现全过程,涵盖项目背景、目标意义、架构设计、核心功能模块、数据库实现、API接口规范、前后端代码实现及部署应用等多个方面。系统采用分层架构与模块化设计,实现了儿童信息管理、疫苗接种记录、体检数据录入、多用户权限控制、数据统计分析、异常预警、安全加密与日志审计等核心功能,并通过MySQL数据库进行数据持久化,结合Qt实现图形化界面,支持高并发、数据脱敏、多平台对接与自动化部署。项目强调数据安全、隐私保护与系统可扩展性,适用于社区医疗、疾控中心、学校及医院等场景。; 适合人群:具备C++编程基础,熟悉数据库操作和基本软件工程流程的开发人员、计算机及相关专业学生、医疗信息化项目开发者,以及希望了解完整医疗管理系统开发流程的技术人员。; 使用场景及目标:①学习如何使用C++构建完整的医疗信息管理系统;②掌握数据库设计、前后端交互、权限控制、多线程处理和GUI开发等关键技术;③应用于社区卫生服务、学校健康管理、疾控数据统计等实际业务场景,提升儿童健康管理水平;④作为课程设计、毕业设计或实际项目的参考模板。; 阅读建议:建议读者结合文档中的代码示例与数据库脚本,搭建本地开发环境进行实践操作,重点关注系统架构设计、模块解耦、安全机制与前后端交互逻辑,深入理解各功能模块的实现原理,并尝试在此基础上进行功能扩展,如接入移动端或增加AI分析模块。

16,547

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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