Data scaling

High-Resolution Image and Movie Export With AtomicusChart®

AtomicusChart® enables users to export high-resolution images. Our component can export images with resolutions of up to 16,000 by 16,000 pixels, and with customizable size compensation of text, lines, and point data (dependent on pixel size). 

This allows us to avoid a typical problem associated with image export. Since the printer resolution is very high, exporting the image as it is results in poor quality — you’ll actually see the pixels (especially for thin lines and text).

Images

In order to export a simple image as it is displayed in the control, you can add the following code line:

var image = chartControl.GetSnapshot();

Also, import parameters such as resolution, MSAA and DPI can be customized:

var image = chartControl.GetSnapshot(new RenderTargetDescription(400, 400, Multisampling.High8X), new Vector2F(96));

If you need to import a set of images, we recommend that you use our Snapshoter class as it will keep alive the required video memory cache:

Snapshoter snapshoter = chartControl.GetSnapshoter();
var image = snapshoter.GetSnapshot(new RenderTargetDescription(400, 400, Multisampling.High8X), new Vector2F(96));

Movies

Also, our AtomicusChart® provides the ability to export movies. When exporting the movies, H.264 video codec is used. In order to export the video in a proper way, copy ffmpeg.exe using the following link into the application root. This multimedia framework is used for video coding.

var movieRecorder = new MovieRecorder
{
	//Movie duration default is 1000
	DurationMiliseconds = 10000,
	//Can be not specified. Default is 25
	FramesPersecond = 25, 
	//Movie resolution
	RenderTargetDescription = new RenderTargetDescription(3840, 2160, Multisampling.High8X),
	//Encoder parameters
	VideoParameters = new VideoParameters { ConstantRateFactor = 25 }
};
 
var videoRecordArgs = new MovieRecordArgument(
	chartControl.GetSnapshoter(),
			new RotateAroundAxisMotion(rotationAxis,
				chartControl.View.Camera3D.GetViewInfo()),
			saveFileDialog.FileName); // Path to save
 
movieRecorder.SaveVideo(videoRecordArgs, CancellationToken.None, null);

Here's an example of the movie exported from AtomicusChart®:




We know how to help you
with large data visualization.