Beispiel #1
0
 public CoverSegmenting(ILibrary libraryVM, PageViewModel page, CoverSideCandidate coverLeftSide, CoverSideCandidate coverRightSide, DataOperationUnit trans)
 {
     this.libraryVM      = libraryVM;
     this.page           = page;
     this.coverLeftSide  = coverLeftSide;
     this.coverRightSide = coverRightSide;
     this.trans          = trans;
 }
Beispiel #2
0
 private static unsafe WriteableBitmap CopyBitmap(PageViewModel _page, CoverSideCandidate CoverLeftSide, CoverSideCandidate CoverRightSide)
 {
     using (Mat mat = new Mat(_page.Image.AbsoluteMasterPath, ImreadModes.Unchanged))
         using (Mat ext = ExtractRect(mat, new OpenCvSharp.Rect(CoverLeftSide.Offset, 0, CoverRightSide.Offset - CoverLeftSide.Offset + 1, mat.Height)))
         {
             return(WriteableBitmapConverter.ToWriteableBitmap(ext));
         }
 }
Beispiel #3
0
        private static void GenerateNewCoverBitmap(PageViewModel _page, CoverSideCandidate CoverLeftSide, CoverSideCandidate CoverRightSide, CoverSegmenting cs, DataOperationUnit dataOpUnit)
        {
            int count = Querying.BookContentsCount(_page.BookID, dataOpUnit);
            var dir   = Path.GetDirectoryName(_page.Image.AbsoluteMasterPath);

            cs._masterPath = $"{dir}\\XC{(count + 1)}.jpg";
            var newBitmap = CopyBitmap(_page, CoverLeftSide, CoverRightSide);

            SaveBitmap(newBitmap, cs._masterPath);
        }
 internal void SetLeftMiddle()
 {
     CoverLeftSide = new CoverSideCandidate(BitmapWidth / 2, false);
 }
 internal void SetLeftEdge()
 {
     CoverLeftSide = new CoverSideCandidate(0, false);
 }
 internal void SetRightEdge()
 {
     CoverRightSide = new CoverSideCandidate(BitmapWidth - 1, false);
 }