I am using the Cairo.Matrix dll in my monoandroid application to load the some System.Drawing.Drawing2D.Matix Class Methods it works fine at build time but at run time the Matrix class from Cairo.Matrix gives an error “System.NullReferenceException: Object reference not set to an instance of an object.”
when I intialize the Cairo.Matrix Class error is “Exception in loading dicom filelibcairo-2.dll.”
This below code I am trying……….
using System;
using System.Drawing;
using Medsynaptic.Common;
using Medsynaptic.Imaging1.Mathematics;
**using Matrix = Cairo.Matrix;**
public class SpatialTransform : ISpatialTransform
{
private Cairo.Matrix _cumulativeTransform;
private Cairo.Matrix _transform;
public PointF ConvertToDestination(PointF sourcePoint)
{
double x = 0.0, y = 0.0;
this.CumulativeTransform.TransformPoint(ref x, ref y);
PointF point = new PointF((float)x, (float)y);
return point;
}
Here it show Null Ref Exception:Object reference not set to an instance of an object
public Cairo.Matrix CumulativeTransform
{
get
{
Calculate();
return _cumulativeTransform;
}
}
protected virtual void Calculate()
{
if (!this.RecalculationRequired)
return;
ERROR @ if condition:- Object reference not set to an instance of an object
if (_cumulativeTransform == null)
_cumulativeTransform = new Cairo.Matrix();
// _cumulativeTransform.Reset();
_cumulativeTransform.InitIdentity();
}
}
this is android debugger show an output with error Error In loading libcairo-2.dll
On Create Call
Picture box OnAttachedToWindow.
display.Height 430
firstRowHeight 43
pictureBox.DisplayHeight 301
Displaying image /mnt/sdcard/Images/Series1/1.2.840.113619.2.22.287.1.20040913.195606.dcm
Request garbage collector to initiate.
Presentation Image created.
Calling invalidate in Render Mode
Renderer will take care of it.
Calling DrawSceneGraph
Error In loading
libcairo-2.dll
Picture box on draw called
Displayed medsynaptic.medsynapse/desktopexecutable.Activity1: +1m10s925ms
Unfortunately, the inclusion of
Mono.Cairo.dllwas a mistake; it can’t work, as it depends upon the native libcairo.so, which Android doesn’t provide.Mono.Cairo.dllwill be removed in the next release.