文章里的知识针对:
Visual Studio .NET 内置的水晶报表
应用于:
仅对被报告的版本
图象质量
Web 查看器
大纲
Web 程序使用 Visual Studio .NET 内置的水晶报表作为报表开发工具。
当你在 Web 上查看报表时,默认情况下图象和图表的分辨率被减小到 96 dpi(为了提高性能和下载速度)。
如何改善报表中图形的图象质量呢?
解决方案
通过改变系统注册表中图象的放大倍数,你可以改善报表中图形的图象质量。
==========
警告:
以下的决定包括编辑注册表。错误的使用注册表编辑器会导致严重问题,你可能需要重装 Windows 操作系统。使用注册表将由你自己承担风险。
强烈建议你在编辑注册表之前备份注册表文件(在 Win9x 计算机上是 System.dat 和 User.dat)。
要了解如何编辑注册表的知识
阅读注册表编辑器 (Regedit.exe) 的联机帮助主题“更改项和值”。
==========
默认情况下,放大倍数设置存放在注册表根键 HKEY_CURRENT_USER,并且仅对当前登录用户有效。可是,当用户通过 Web 被 IIS 验证时,用户没有 HKEY_CURRENT_USER 根键的访问权。
因此,放大倍数设置必须被复制到 HKEY_LOCAL_MACHINE 根键才能起作用。
要将放大倍数设置复制到 HKEY_LOCAL_MACHINE 根键:
1. 单击 开始 > 运行,输入“Regedit”并单击“确定”。
2. 进入注册表编辑器,并定位到下面的子键:
HKEY_CURRENT_USER\SOFTWARE\Seagate Software\Crystal Reports\Export
3. 右击“Export”子键,选择“新建”并选定“双字节值”。
4. 将项命名为 BitMapMagnifNumerator,然后双击项,并给项赋一个介于 1 和 4 之间的十进制值(4 代表最高质量的位图),单击“确定”。
5. 重复步骤 3 和 4 创建项 BitMapMagnifDenominator,并赋值为“1”。
6. 选中注册表子键 Export,然后单击“注册表”菜单,并选择“导出注册表文件…”
输入文件名“Export”,确保“导出范围”里选中了“选定的分支”单选按钮,并且该分支指向“Export”子键。
7. 单击“保存”将注册表子键保存到桌面上。关闭注册表编辑器。
8. 编辑桌面上的注册表子键,右击注册表文件并选择“编辑”。文件将在记事本里打开,内容类似如下:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Seagate Software\Crystal Reports\Export]
"MailDestDLL"=""
"MailDestType"=dword:00000000
"BitMapMagnifNumerator"=dword:00000001
"BitMapMagnifDenominator"=dword:00000001
9. 编辑文件,将默认根键从 HKEY_CURRENT_USER 改为 HKEY_LOCAL_MACHINE。
要提高图象质量,修改双字节值 “BitMapMagnifNumerator”和“BitMapMagnifDenominator”。比如,你可以将分子 (BitMapMagnifNumerator) 设置为 3,分母 (BitMapMagnifDenominator) 不变仍为 1,这将改善质量为原来的 3 倍左右。最终的注册表子键类似如下:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Seagate Software\Crystal Reports\Export]
"MailDestDLL"=""
"MailDestType"=dword:00000000
"BitMapMagnifNumerator"=dword:00000003
"BitMapMagnifDenominator"=dword:00000001
10. 修改完毕后,保存并关闭文件。
11. 双击文件 Export.reg 将新的子键和值导入注册表。IIS 必须重新启动以使注册表改动生效。
通过提高水晶报表中图象的放大倍数,你同样增加了报表中所有位图的分辨率和文件大小。这将轻微的减小性能和下载速度。
=============
注意:
要增加 Windows 程序的图象质量:
1. 单击 开始 > 运行,并输入“Regedit”,然后单击“确定”。
2. 进入注册表编辑器,并定位到下面的子键:
HKEY_CURRENT_USER\SOFTWARE\Seagate Software\Crystal Reports\Export
3. 在注册表的右侧窗格双击“BitMapMagnifNumerator”项,并在“数值数据”行输入“3”。
4. 单击“确定”,关闭注册表编辑器。