Esempio n. 1
0
        private PhotonFile ReadFile(byte[] file, Action <string> reportProgress)
        {
            reportProgress?.Invoke("Reading Photon file header information...");
            var photonFileHeader = new PhotonFileHeader(file);

            iFileHeader = photonFileHeader;

            reportProgress?.Invoke("Reading photon large preview image information...");
            previewOne = new PhotonFilePreview(photonFileHeader.GetPreviewOneOffsetAddress(), file);
            reportProgress?.Invoke("Reading photon small preview image information...");
            previewTwo = new PhotonFilePreview(photonFileHeader.GetPreviewTwoOffsetAddress(), file);
            if (photonFileHeader.GetVersion() > 1)
            {
                reportProgress?.Invoke("Reading Print parameters information...");
                photonFileHeader.ReadParameters(file);
            }
            reportProgress?.Invoke("Reading photon layers information...");
            layers = PhotonFileLayer.ReadLayers(photonFileHeader, file, margin, reportProgress);
            ResetMarginAndIslandInfo();

            return(this);
        }
Esempio n. 2
0
 public void UnLink()
 {
     while (layers.Count > 0)
     {
         PhotonFileLayer layer = layers[0];
         layers.RemoveAt(0);
         layer.UnLink();
     }
     if (islandLayers != null)
     {
         islandLayers.Clear();
     }
     if (marginLayers != null)
     {
         marginLayers.Clear();
     }
     iFileHeader.UnLink();
     iFileHeader = null;
     previewOne.UnLink();
     previewOne = null;
     previewTwo.UnLink();
     previewTwo = null;
 }