Jump to content

vfbb

Members
  • Content Count

    278
  • Joined

  • Last visited

  • Days Won

    30

Everything posted by vfbb

  1. vfbb

    ANN: Skia4Delphi v3.0.2

    v3.0.3 Fixed PixelFormat on Windows that had wrong colors when drawing in non-client area with Skia4Delphi Canvas; v3.1.0 Added BackgroundColor property to words of TSkLabel; Added GrayScale property to TSkSvgBrush; Added build informations for each pre-built binary; Added pre-built binaries for Red Hat; Fixed AV in iOS and MacOS with Metal + Effects/Filters with Skia Canvas enabled; Fixed TSkAnimatedImage and TSkAnimatedPaintBox controls when setting visible to false in Vcl; Fixed TSkSvgBrush.Render in Vcl, was ignoring the opacity parameter; Fixed AV when set the property ControlType=Platform in controls that the platform doesn't support this (like TButton and TLabel) in Android and iOS with Skia Canvas enabled; Fixed build error 'MSB5016: The name "asl.log" contains an invalid character "."' in setup; Fixed build error at installation in RAD Studio 10.3 Rio (caused by wrong rsvars.bat); Fixed build script for other Linux distributions; Fixed statusbar icons of demo in some devices with Android 11; Improved performance of TSkGraphic and TSkSvgGraphic in Vcl (they are responsible for loading new extensions in TPicture); Minor improvements and fixes; Github: github.com/skia4delphi/skia4delphi Website: skia4delphi.org
  2. vfbb

    ANN: Skia4Delphi v3.0.2

    The library can be divided into 3 independent parts: Api: Console, FMX and Vcl; Controls and integration with TBitmap: FMX and Vcl; Skia4Delphi Canvas: FMX. Skia4Delphi Canvas is an option that, when enabled, the entire application will be rendered by our engine, be it a TButton, a TCircle, the form itself... The benefits of this are: speed, quality and new features. This feature was only made for the FMX because the Vcl system is too restricted for it. Its text was taken from the part of Skia4Delphi Canvas (FMX). It is just clarifying that it is not necessary to adapt any code, the operation will continue the same as an FMX application without the library. Remembering that the integration with TBitmap (using TBitmap.SkiaDraw) is not related to the Skia4Delphi Canvas feature, they are independent integrations. It will always work on both Vcl and FMX, and is also safe to use on both main and background threads (just like TBitmap).
  3. vfbb

    ANN: Skia4Delphi v3.0.2

    @Fritzew It is worth mentioning that currently prints already work normally with Skia4Delphi Canvas enabled, but internally the native Canvas of FMX is used during prints. In addition, it is possible to export the document via PDF and XPS.
  4. vfbb

    ANN: Skia4Delphi v3.0.2

    Direct printer call will work soon for Windows and MacOS
  5. vfbb

    iOS, Metal, Bitmaps, RGB becomes BGR?

    @ginnix Fixed in new release v3.0.2
  6. vfbb

    Skia4Delphi v3.0.0

    It is with great pleasure that we announce the new version of the Skia4Delphi library. The library has been completely rewritten in this major update and it looks amazing. v3.0.0 · Skia library version has been updated from Milestone 88 to 98; · New Skia based Canvas for FMX with GPU rendering support (optionally registered as default) accompanied by the following benefits a) Draw with anti-aliasing on any platform; (currently platforms that use TGPUCanvas like mobiles, and Mac computers when Metal is enabled do not use it) b) Increase the overall graphics performance of your application by up to 50%; (even drawing with higher quality) c) Resize images with better quality; (also based on Form.Quality) d) Support Right-To-Left rendering; e) Fix dozens of inconsistencies in drawings, especially in corners and strokes, such as dashes, and in texts with special emojis; f) Increase the performance of the library in general (controls, drawings, among others...). · Fully featured demo, with many more fantastic examples; · Added TSkLabel control with support for: multiple text styles (colors, sizes, fonts), justify alignment, font weight, families fallback, auto-size of width and height, limit number of lines, right-to-left texts, and more; · Added TSkAnimatedImage (replacing TSkLottieAnimation), with support for Lottie, Telegram Sticker, Animated GIF and Animated WebP files. · Added WrapMode property to TSkSvg; · Added full unicode support: grapheme iterators, BiDi regions, among others; · Added new features to SkParagraph; · Added SkTypefaceProvider; (custom fonts support in SkParagraph) · New codecs registered: a) VCL: svg, wbmp, webp and raw images (arw, cr2, dng, nef, nrw, orf, raf, rw2, pef and srw) b) FMX: bmp, gif, ico, wbmp, webp e raw images (arw, cr2, dng, nef, nrw, orf, raf, rw2, pef and srw) · Added support for SVG creation with the SkSVGCanvas class; · Exposed SkParticles (provides a way to quickly generate large numbers of drawing primitives with dynamic, animated behavior) · Added support for creating XPS documents (Windows-only); · Added Cross-Platform unit tests for console, VCL and FMX, with more over then 250 tests; · Added Android support for Delphi 10.3 Rio; · Added installation support via Chocolatey; · Improved the performance of Lottie animations; · Improved the performance of OverrideColor in TSkSvg; · Improved installation process; · Simplified Skia build with a simple native script; · Fixed library loading crash that occurred on some 32-bit Androids; · Fixed support for Android 32 bits in Android App Bundle (.aab) format; · Fixed iterators; (including path elements iterator) · Fixed image decoding issue; · Fixed Lottie files with static images embedded; · Fixed SVG locale-dependent (couldn't render when default decimal separator was not dot); · Fixed wrong draw of TSkCustomControl and descendents in FMX, when the property Angle was different than 0; · Fixed TSkPaintBox draw without clear the surface; · Fixed installation issue in RAD Studio Trial, Community Edition and Started versions; · Fixed installation issue in RAD Studio with very large Library Path (especially those that have the ACBr library installed); · Fixed many others minor issues; · And much more.. Compatibility break: We are in continuous development, so some updates will bring compatibility breaks. So pay attention to version numbers, we use semantic versions (for major versions there is some compatibility break). See some breaking changes in this version: a) Removed support to iOS, MacOS and Linux in RAD Studio 10.4 Sydney; b) Removed support to RAD Studio XE6; c) Removed the TSkLottieAnimation control, use the TSkAnimatedImage control instead; d) Several changes in API; Supported platforms: · RAD Studio 11.0 Alexandria: all platforms · RAD Studio 10.3 Rio or newer: windows and android · RAD Studio XE7 or newer: windows Demo: Github: github.com/skia4delphi/skia4delphi Website: skia4delphi.org
  7. vfbb

    Skia4Delphi v3.0.0

    Ah yes. I don't know of any other tool capable of doing the same. The lottiefiles.com website has a lottie editor but it's very limited and doesn't allow you to create a new animation, just edit it. Remembering that on this same site you will find thousands of free lottie files.
  8. vfbb

    iOS, Metal, Bitmaps, RGB becomes BGR?

    Thanks for the report. I'll check TCamera again. Any new issue you can report us in GitHub
  9. vfbb

    Skia4Delphi v3.0.0

    Rollo, Adobe After Effects alone does not export or import json animation (lottie file). You need to install the Bodymovin plugin for this.
  10. vfbb

    iOS, Metal, Bitmaps, RGB becomes BGR?

    Your TImage is already using Skia Canvas. When you replace the default Canvas of FMX to the Skia4Delphi Canvas (by setting GlobalUseSkia := True;), every control in form will be draw automatically using the Skia Canvas, including the TImage.
  11. vfbb

    iOS, Metal, Bitmaps, RGB becomes BGR?

    The GetIt is out of date yet (version 2.0.1). You should download version 3, Skia4Delphi_3.0.0_Setup.exe, which you will find on the releases page: https://github.com/skia4delphi/skia4delphi/releases
  12. vfbb

    iOS, Metal, Bitmaps, RGB becomes BGR?

    This problem is automatically fixed when you replace the FMX canvas with the Skia4Delphi canvas. program Poject1; uses System.StartUpCopy, FMX.Forms, FMX.Types, Skia.FMX Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin GlobalUseMetal := True; GlobalUseSkia := True; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.
  13. The delphi string is an implementation of UTF-16 in which the "normal" graphic characters corresponding to 1 Char (2 bytes), but having others graphic characters being represented by 2 Chars (4 bytes), the so-called surrogate pair, (like the emoji 🙏). And in this case we need to check if the char IsSurrogate, to know that it is a graphic character of 2 Chars (4 bytes). But the problem is that utf-16 is not limited to a maximum of 4 bytes for a graphic character, in fact it already predicts that a graphic character can have up to 14 bytes for future implementations, and today most of the emojis already occupy at least 8 bytes (like the emoji 🙏🏻 <- light version). This is a problem, because delphi only handles the graphic character with the possibility of being 2 bytes or 4 bytes, and is often converting the graphic character or string to UCS4Char or UCS4String respectively, to treat everyone as being 4 bytes. So, how do you know the actual size of each graphic character in a string?
  14. We finally have the solution to the problem. Feature added to Skia4Delphi library and works on all platforms. See the results:
  15. Is anyone managing to use the storyboard launch screen? Here it is only working with the original delphi color and image. When I try to change the background color or the image in the project options, it has no effect.
  16. vfbb

    Copy deployment across platforms

    Consider using GrijjyDeployMan to add multiple files, you can add an entire folder instead of files by files.
  17. vfbb

    Skia4Delphi

    The correct way is to rotate only the drawing you are doing, in this case the text. For this you must rotate by ISkCanvas: uses System.Math, System.Math.Vectors, Skia; procedure TForm1.SkPaintBox1Draw(ASender: TObject; const ACanvas: ISkCanvas; const ADest: TRectF; const AOpacity: Single); var LDest: TPointF; begin LDest := PointF(150, 50); ACanvas.Clear(TAlphaColors.Null); ACanvas.Save; try ACanvas.DrawSimpleText('Skia4Delphi 1', LDest.X, LDest.Y, TSkFont.Create, TSkPaint.Create); ACanvas.Rotate(90); LDest := LDest * TMatrix.CreateRotation(DegToRad(-90)); ACanvas.DrawSimpleText('Skia4Delphi 2', LDest.X, LDest.Y, TSkFont.Create, TSkPaint.Create); finally ACanvas.Restore; end; end; Results: Note: I made the adjustment of LDest with TMatrix.CreateRotation because when rotating the canvas, its X and Y of DrawSimpleText are also rotated.
  18. vfbb

    Skia4Delphi

    @hsauro What exactly do you want to do? Draw text around a circle? Do you have any image of what it would be like? Drawing text along a path is not trivial, but depending on what it is, we can try to make a non-morphing example, just using letter rotation.
  19. vfbb

    Your Delphi verion does not support COMMAND

    Fix: I think he meant below Professional (Starter, Community and Trial). I looked at each Feature Matrix of the RAD Studio versions and questioned him, the compilation via command line feature varies a lot from version to version including from update to update. Some in the Starter edition only have the command line for Win32, others not even for Win32.
  20. @TimCruise Now all makes sense! Your installation did not generate dcus or bpls because Delphi 10.4.2 CE does not allow compilation via command line. We will solve this problem in the next version. Thank you so much for reporting.
  21. vfbb

    Your Delphi verion does not support COMMAND

    One of the embardero consultants informed me here that neither the Comunity Edition nor the Professional version has the compilation via command line. He even said he's not sure, but he doesn't think even the trial version has it. This is definitely too bad.
  22. vfbb

    Your Delphi verion does not support COMMAND

    I did not know. Doesn't work even using msbuild? Even just for win32?
  23. I believe that for general purposes, a great image format option would be WebP. It has the same performance as PNG but compresses 30% more in lossless mode. In lossy mode, it compresses 30% more than jpeg (with same quality) and still allows transparencies. It is a format that also allows animated images such as gif. It is supported by all browsers, many softwares, and even Windows 10 already displays thumbnails in folders. As for the future, I would bet on Heif. There are already many libraries that support it but most in beta mode, like skia. Compatibility is very important, I wouldn't bet on a format that image editors, viewers or browsers can't open.
  24. I'm preparing a new demo right now. It will also be part of the next release.
×