Crystal Reports in .NET - Chart Quality Solution!
Aha ... I have a solution for this.
Crystal Reports .NET (the version bundled with Microsoft Visual Studio .NET) has a number of features missing, but probably the most annoying is the low resolutions on charts and graphs.
It is possible to improve this however in
TWO WAYS!
DISCLAIMER - This involves editing the registry. It is highly recommended that you backup your registry before making changes! I do not accept any liability for the consequences of anyone making changes to their registry based on the instructions in this post!
Firstly .. You need to add two Registry fixes.
Open the following .. Start --> Run --> regedit
Open the following Key:
HKEY_LOCAL_MACHINE -->
Software -->
Seagate Software -->
Crystal Reports -->
Export
Add a DWORD value called
BitMapMagnifDenominator. Give it the value of
1
Add a second DWORD value called
BitMapMagnifNumerator.
The value you should give this, is the same as the factor by which you want to scale up the resolution of your charts.
For example, if you want 2x the quality .. enter a value of 2.
If you want 5x the quality .. enter a value of 5.
(I found that either 2 or 3 gave a good enough quality for 99% of charting .. even at 400% zoom)
Once editing is done .. close regedit .. recompile (or reload) your .NET application .. and fire up those reports! Let me know how it goes .. and hopefully all will be good.
NOTE - Increasing the resolution of charts this way will impact your programs in 2 ways. (1) the image resolution being bigger will increase the memory requirements. Going from x2 to x3 increased the memory usage of a small Crystal Report Viewer Windows Form app by over 15mb!. (2) the image sizes are also larger for Web Forms .. so your Crystal Report pages on ASP.NET projects will take longer to load!
Secondly... If you are running ASP.NET web forms, then the Crystal Engine will use the same desktop resolution on the web-server to generate the reports. So if your desktop is running at 256 colour, then the graphs, charts and images will be rendered in 256 colour. So .. make sure your ageing web-server's resolution is up to scratch
Soo .. thats it!
enjoy everyone
Lemme know how you get on!
Martiankeeper