Cairo.Matrix dll дает ссылку на объект ошибки, не установленную для экземпляра объекта - PullRequest
0 голосов
/ 30 декабря 2011

Я использую Cairo.Matrix dll в моем моноандроидном приложении для загрузки некоторых методов класса System.Drawing.Drawing2D.Matix, он прекрасно работает во время сборки, но во время выполнения класса Matrix из Cairo. Matrix выдает ошибку «System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.» при инициализации ошибки класса Cairo.Matrix «Исключение при загрузке dicom filelibcairo-2.dll.»

Этот код ниже я пытаюсь ..........

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; 
        } 

Здесь показано исключение Null Ref: ссылка на объект не установлена ​​для экземпляра объекта

public Cairo.Matrix CumulativeTransform       
    {        

        get 

        {      

            Calculate(); 

            return _cumulativeTransform; 

        } 

    } 

 protected virtual void Calculate() 

    { 

        if (!this.RecalculationRequired) 

            return; 

ОШИБКА @ если условие: - Ссылка на объект не установлена ​​на экземпляр объекта

        if (_cumulativeTransform == null) 

            _cumulativeTransform = new Cairo.Matrix(); 


       // _cumulativeTransform.Reset(); 

        _cumulativeTransform.InitIdentity(); 
} 

} 

это отладчик андроида показывает вывод с ошибкой Ошибка при загрузке 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

1 Ответ

0 голосов
/ 09 января 2012

К сожалению, включение Mono.Cairo.dll было ошибкой;это не может работать, поскольку это зависит от нативного libcairo.so, который Android не предоставляет.Mono.Cairo.dll будет удалено в следующем выпуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...