Recent

Author Topic: New version of BGRABitmap  (Read 285401 times)

winni

  • Hero Member
  • *****
  • Posts: 3197
Re: New version of BGRABitmap
« Reply #600 on: September 10, 2020, 05:52:03 pm »
@circular

The 386 was widely used for Delphi 1 with 16 bit and Windows 3.1 / 3.11.
There you had the problem with the 64k  chunks.

For Windows 95 with 32 bit the 386 was to slow.
You had to buy a 486 [The last one without a fan]
Or a Pentium  I.

So my post was not exact enough.

Winni



circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #601 on: September 11, 2020, 01:36:42 am »
Yeah at the time of Win 3.1, I did not bother programming under Windows. Rather do the interface myself.  :D
Conscience is the debugger of the mind

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: New version of BGRABitmap
« Reply #602 on: September 11, 2020, 09:18:44 am »
The 386 was widely used for Delphi 1 with 16 bit and Windows 3.1 / 3.11.
There you had the problem with the 64k  chunks.

That wasn't a problem of the 386 however, cause that already supported paging in contrast to the 286 that only supported segmented memory. The problem was that both Delphi 1 and Windows 3.1(1) did not support anything else than segmentation.

circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #603 on: September 28, 2020, 10:28:58 am »
New version 11.2.3 of BGRABitmap
https://github.com/bgrabitmap/bgrabitmap/releases

Layer originals
- Fixed reading undefined boolean value
- Catching loading error with OnOriginalLoadError event
- bigger pen size of editor points if points are big

Misc
- ParallelFloodFill can be done on universal bitmap
- added TRectF.Contains
- Thumbnail checkers have a scale property (scale 1 = 8 pixels)

Text
- Fix word break with line endings
- Handle unicode line endings
- added TextOut with letter spacing parameter
- added TGlyphCursorUTF8 in BGRAUTF8 to browse through multi chars
- save text baseline in Canvas2d state
Conscience is the debugger of the mind

circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #604 on: October 04, 2020, 05:48:54 pm »
New version 11.2.4 with minor changes:
- precision of multiply and divide blend modes
- compare values in originals with the stored level of precision
Conscience is the debugger of the mind

circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #605 on: October 18, 2020, 06:12:01 pm »
New version 11.2.5
https://github.com/bgrabitmap/bgrabitmap/releases

OpenRaster format:
- get thumbnail from merged image if the thumbnail is not provided
- ensure adequate temporary file is used when zipping (when saving as OpenRaster)

Geometry:
- Canvas2d: accept odd number of values in dash array
- TBGRABitmap: fix edge cases of arcs

Misc:
- StretchPutImage now accepts TBitmap
Conscience is the debugger of the mind

circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #606 on: November 27, 2020, 12:15:34 pm »
New version 11.3
https://github.com/bgrabitmap/bgrabitmap/releases

General
- support for Qt5
- compilation path include widgetset
- update LGPL license
- add FontExists function to text renderers

Layer blending
- add HSL and corrected HSL (GSB) blend modes
- add blend with solid color rectangle instead of bitmap
- possible to exclude channels from blending

OpenRaster
- read substacks
- more permissive image format
- support for SVG layers (compatible with MyPaint)
- remove obsolete PNG hack
- fix path of thumbnail on non-Windows platforms

SVG
- fix units (this may change the behavior but it was not consistent with spec, you may thus need to exchange pixel units and custom units and to scale the values according to view box)
- support for % coordinates
- add ConvertToUnit function
- add CropToViewbox function
- functions to get presentation matrix (transform to apply before drawing in view box units)
- more functions to append, move and remove elements
- more LCL-typed attributes (font style, line cap, line join)
- gradients: support for gradient on stroke, spreadMethod and color interpolation
- text: support for characters rotation and offset, font list fallback
- support for paint order
- support for A tag (anchor, similar to group)
- support for IMG tag (image with inline data)

Layered SVG
- support for layers (read/write, compatible with Inkscape)
- export from other originals (gradient, image)
- use vectorized font in original
- handles duplicate ids in different groups

To load/save as layered SVG, you need to use TBGRALayeredSVG class from BGRASVGOriginal unit. Then you can add/remove layers, either bitmap or SVG or any original that supports SVG export.
Conscience is the debugger of the mind

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: New version of BGRABitmap
« Reply #607 on: November 28, 2020, 03:04:19 am »
Thanks this release is so cool for SVG.

circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #608 on: August 08, 2021, 12:17:12 pm »
New version 11.4
https://github.com/bgrabitmap/bgrabitmap/releases

Important note : in the incoming version of Lazarus 2.2, in any BGRABitmap package, one will need to add a condition to use freetypelaz package. Indeed, FreeType support has been move from lazutils package to freetypelaz package.

Fixes and improvements for BGRAAnimatedGif
  • display animated Gif in dialogs
  • handle Assign
  • OptimizeFrames function
  • compatibility on various systems

Compilation fixes for fpGUI, noGUI and mseGUI.

Added sample project for ideU in test/test4ideu
« Last Edit: August 08, 2021, 12:22:05 pm by circular »
Conscience is the debugger of the mind

Okoba

  • Hero Member
  • *****
  • Posts: 528
Re: New version of BGRABitmap
« Reply #609 on: August 08, 2021, 02:31:50 pm »
Nice job Circular!

circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #610 on: August 08, 2021, 02:58:21 pm »
Thanks. I had some time at last to take care and heal BGRABitmap little mishaps.
Conscience is the debugger of the mind

Fred vS

  • Hero Member
  • *****
  • Posts: 3158
    • StrumPract is the musicians best friend
Re: New version of BGRABitmap
« Reply #611 on: August 08, 2021, 05:54:05 pm »
New version 11.4
https://github.com/bgrabitmap/bgrabitmap/releases

Important note : in the incoming version of Lazarus 2.2, in any BGRABitmap package, one will need to add a condition to use freetypelaz package. Indeed, FreeType support has been move from lazutils package to freetypelaz package.

Fixes and improvements for BGRAAnimatedGif
  • display animated Gif in dialogs
  • handle Assign
  • OptimizeFrames function
  • compatibility on various systems

Compilation fixes for fpGUI, noGUI and mseGUI.

Added sample project for ideU in test/test4ideu

Magnifique!

Many thanks Circular.

Fre;D
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

circular

  • Hero Member
  • *****
  • Posts: 4193
    • Personal webpage
Re: New version of BGRABitmap
« Reply #612 on: August 09, 2021, 12:48:34 am »
 :)
Conscience is the debugger of the mind

mosquito

  • Full Member
  • ***
  • Posts: 138
Re: New version of BGRABitmap
« Reply #613 on: September 26, 2021, 04:53:22 pm »
thx master !!

Josh

  • Hero Member
  • *****
  • Posts: 1271
Re: New version of BGRABitmap
« Reply #614 on: October 11, 2021, 07:25:34 pm »
Hi

Just loaded fresh fpc & Laz both trunk versions on MacOS, but getting error installing 11.4Compile package

BGRABitmapPack 11.4: Exit code 1, Errors: 3, Hints: 4
Hint: Start of reading config file /Users/josh/Documents/LazTrunkUse/fpc/bin/x86_64-darwin/fpc.cfg
Hint: End of reading config file /Users/josh/Documents/LazTrunkUse/fpc/bin/x86_64-darwin/fpc.cfg
Verbose: Free Pascal Compiler version 3.3.1-9412-g068f781c7a-dirty [2021/10/11] for x86_64
Verbose: Copyright (c) 1993-2021 by Florian Klaempfl and others
Verbose: Target OS: Darwin for x86_64
Verbose: Compiling bgrabitmappack.pas
Verbose: Compiling bgraanimatedgif.pas
Verbose: Compiling bgrabitmap.pas
Verbose: Compiling bgramacbitmap.pas
Verbose: Compiling bgralclbitmap.pas
Verbose: Compiling bgradefaultbitmap.pas
Verbose: Compiling bgracanvas.pas
Verbose: Compiling bgrapen.pas
Verbose: Compiling bgratransform.pas
bgratransform.pas(935,3) Note: Call to subroutine "procedure TBGRAAffineScannerTransform.ScanMoveToF(X:Single;Y:Single);" marked as inline is not inlined
bgratransform.pas(991,3) Note: Call to subroutine "procedure TBGRAQuadLinearScanner.GetTexColorAt(u:Single;v:Single;out AColor:TBGRAPixel;out AIsPadding:Boolean);" marked as inline is not inlined
bgratransform.pas(1071,1) Error: Compilation raised exception internally
Error: An unhandled exception occurred at $000000010B4B98E9:
Error: EAccessViolation: Access violation
Debug:   $000000010B4B98E9
Debug:
Verbose: Compilation aborted
Verbose: /Users/josh/Documents/LazTrunkUse/fpc/bin/x86_64-darwin/ppcx64 returned an error exitcode
The best way to get accurate information on the forum is to post something wrong and wait for corrections.

 

TinyPortal © 2005-2018