/// <summary> /// <inheritdoc/> /// </summary> public void RenderPageBitmap(double zoomFactor, int startX, int startY, int sizeX, int sizeY, int width, int height, BitmapFormat format, IntPtr buffer, int stride) { var bmp = new PDFBitmap(_mainComponent); bmp.Create(width, height, format, buffer, stride); var pageHandle = _mainComponent.PDFiumBridge.FPDF_LoadPage(_mainComponent.PDFiumDocument, PageIndex); bmp.RenderWithTransformation( pageHandle, zoomFactor, startX, startY, sizeX, sizeY, _mainComponent.PageComponent.IsAnnotationToRender ? FPDF_RENDERING_FLAGS.FPDF_ANNOT : FPDF_RENDERING_FLAGS.FPDF_NONE); _mainComponent.PDFiumBridge.FPDF_ClosePage(pageHandle); if (_mainComponent.PageComponent is PDFPageComponent pageComponent && pageComponent.PageIndexWithSelections == PageIndex && pageComponent.SelectionRectangles.Count != 0) { foreach (var rect in pageComponent.SelectionRectangles) { bmp.RenderSelectionRectangle(zoomFactor, startX, startY, sizeY, rect.Left, rect.Top, rect.Width, rect.Height); } } bmp.Destroy(); }
/// <summary> /// <inheritdoc/> /// </summary> public void RenderThumbnailBitmap(BitmapFormat format, IntPtr buffer, int stride) { var bmp = new PDFBitmap(_mainComponent); bmp.Create((int)ThumbnailWidth, (int)ThumbnailHeight, format, buffer, stride); var pageHandle = _mainComponent.PDFiumBridge.FPDF_LoadPage(_mainComponent.PDFiumDocument, PageIndex); bmp.RenderWithoutTransformation( pageHandle, 0, 0, (int)ThumbnailWidth, (int)ThumbnailHeight, FPDF_RENDERING_FLAGS.FPDF_NONE); _mainComponent.PDFiumBridge.FPDF_ClosePage(pageHandle); bmp.Destroy(); }