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