Jump to content

Alexander Sviridenkov

Members
  • Content Count

    260
  • Joined

  • Last visited

  • Days Won

    26

Posts posted by Alexander Sviridenkov


  1. 1 minute ago, Rollo62 said:

    @Alexander Sviridenkov That looks great, as always.

    I'm not sure if the performance and large-file features were limited to VCL and desktop mostly, or if also mobile apps will improve a lot, with or without SKIA ?

    Thank you.

    Processing of documents with many SVG images is improved for all platforms and doesn't depend on canvas. But fast rendering of single large SVG image is for VCL OpenGL canvas only.

    • Like 1

  2. What's new video:

     

    Demos used in video:

    Map Viewer (OpenGL canvas., SVG, PDF, etc) https://delphihtmlcomponents.com/MapView.zip
    Fast blur: https://delphihtmlcomponents.com/blur.zip
    HTML Editor (VCL), print preview window https://delphihtmlcomponents.com/htedit.zip
    Office file viewer and print preview window https://delphihtmlcomponents.com/FileBrowser.zip

     

    What's new:

    Core

    1. Precise text rendering and measurement for all windows canvases: now text has the same layouot in GDI, GDI+, DX and Skia canvases on screen and printer and doesn't depend on scaling.
    2. Skia canvas for VCL.
    3. PDF export using Skia canvas - works from any canvas, not only Skia
    4. OpenGL canvas - useful for fast rendering of very large SVG (don't use as default canvas - it requires window handle).
    5. GDI canvas: improved graphics rendering speed.
    6. CSS var() support.
    7. function htmlpars.GetHTMLEncoding - determine codepage of HTML (TBytes).
    8. function for converting stylesheet to dark theme - TCSSStyleSheet.LighttoDark
    9. Support for UTF8 encoded inline SVG images.
    10. Optimized SVG paths seialization (smaller size)
    11. Optimized drawing of large SVG
    12. Support for individual glyph positioning in SVG text (DX attribute).
    13. THtCustomPath: CurveTo record now do not have initial point, all curves are defined by 3 points.
    14. HtPanel/Editor: support for horizontal mouse wheel
    15. HtPanel/Editor: Smooth scrolling in both direction
    16. HtPanel/Editor: Fast zoom in / zoom out in OpenGL canvas.
    17. Library now contains fastest native blur implementation (10-50 times faster than other). See htcanvas.FastBlur()
    18. Fast Base64Encode function (5-10 times faster than standard): htutils.Base64EncodeNoLF()
    19. THtBitmapData bitness conversion and masking methods are optimized using SIMD, f.e. Convert24to32.
    20. TSVGElement has GetStats methods for retrieving number of primitives, points, etc.
    21. Added support for system colors from CSS 4 color module: canvas, canvastext, field, fieldtext, etc.
    22. Bitmap images are now supported in GDI+, DX and Skia canvases.
    23. FontAwesome is upgraded to version 6.4. Now it contains regular (fa) and solid (fa-solid) icons.
    24. Support for CSS variables.
    25. Optimized displaying of documents containing many SVG images - like converted PDF documents (2000+ pages).
    26. Support for outlined and filled text (SVG).
    27. Support for relative image paths ('.\..')
    28. Improved flexbox layout.
    29. THtImageConverter now have CanvasClass propery - used in HTMLtoPNG conversion.
    30. HtPanel: OnScroll event
    31. New core classes documentation - /docs/HTML Library.chm/pdf https://delphihtmlcomponents.com/help/
    32. New demos - MapView, Blur, Skia

    Editor

    1. Words suggestions/prediction while typing - see Words prediction section in Editor manual.
    2. New icons in context toolbar.
    3. Context and selection toolbars has acrylic background.
    4. All toolbars (selection, spellcheck) can be closed by pressing Esc.
    5. Add/edit image button in context toolbar
    6. Copy image button in selection toolbar
    7. Print preview button in context toolbar
    8. Add Symbol button in context toolbar.
    9. Spellcheck button in context toolbar.
    10. Windows ISpell implementation - htspellwin unit. Simply add it to uses list for spellcheking and word correction.
    11. Inline word correction - click on misspelled word to see suggestions.
    12. Windows spellecher is also used for autocorrection, suggection selection is based on Levenshtein distance. Cancelled autocorrections are remembered - words are added to exceptions list.
    13. Inline image cropping - use shift + resize handles

    Reports and Scripts

    1. New preview window for VCL and FMX (OSX, Linux) - float toolbar, smooth scroll and zoom, page selection and reorder, text search, text editing and moving.
    2. Preview window store its maximized/normal state and position for normal state even when maximized.
    3. Support for var parameters of all types.
    4. Fixed repeat - until bug.
    5. Default indexed properties now workind for object proprties, f.e. property Strings: TStringList; Obj.Strings := 'test';
    Script can have own debugger instance
    • Like 9
    • Thanks 1

  3. IMHO such tasks should not depend on graphic library and should not require low-level graphics knowlege. What you need is object manipulation library, like vector diagram editor.

    Here is simple implementation using HTML Component Library (compiled and project source). 20 minutes, 50 lines of code. You can drag images from lbrary at right side, select it, resize, rotate, delete (Del key):

    https://delphihtmlcomponents.com/ImageMove.zip

    It can use Direct2d or GDI+ or FMX canvas on any platform - doesn't matter.

     

    • Thanks 1

  4. https://delphihtmlcomponents.com/office.html

    Please use coupon code BFO2022

     

    HTML Office Library is a cross platform and 100% native solution for reading and displaying MS Office files (RTF, XLS, XLSX, XLSB, DOC. DOCX, PPT, PPTX), PDF, EPUB, MD, FB2, WMF, EMF, PICT, MSG, EML, OutLook (PST and OST) and The Bat mailboxes. For Word formats (DOC, DOCX, RTF) it supports both paged and web layout.

    Converted document can be displayed in VCL or FMX application (using included part of HTML Component Library) or browser. Conversion is threadsafe and do not use system API so can be used in Web serverrs. Embedded WMF/EMF/PICT vector images are converted to SVG.

    Library also contains full text search engine (also 100% written in Delphi) which is faster and requires less memory than other well-know solutions.

    Test on 8000 EPUB documents, 3.5 Gb.

     

    Application     Indexing Time     Index Size     Mem used

    DocFetcher     3 min                  476Mb          600Mb

    dtSearch         8 min                  727Mb         1000Mb

    X1 Search        59 min               1260 Mb      600Mb

    Copernic         13 min               1150 Mb      500Mb

    Office Demo   1m 30s               145 Mb       300 Mb

     

    There are two compiled demos available:

    1. Simple document viewer: allows to view any document on hard drive using file tree on left side and HtPanel on right.
      https://delphihtmlcomponents.com/FileBrowser.zip
    2. Search Engine demo: create full text search index for documents located in selected folders and find any document from application or Web.
      https://delphihtmlcomponents.com/SearchEngine.zip
      No installation required. How to use: Run application (SearchEngine.exe). Click Add folder and select folder containing office documents or Outlook PST/OST databases. Click Start indexing, wait until it is completed. Search for documents using one of the following: a) Go to Search tab and enter search query (any words). b) Click Web interface icon and enter search query.

     

    • Like 2
×