Code Monkey home page Code Monkey logo

parallel-bitmap-resampler's Introduction

Parallel Bitmap-Resampler for Delphi

High-quality and fast rescaling of VCL- and FMX-bitmaps, including parallel resampling routines. Supports Delphi 10.4 and up. The VCL-version should work in several previous versions, but the FMX-version will probably not work with 10.3 or lower. 10.3 definitely had some problems with FMX-TBitmap in threads. Find this modern version in the folder BitmapScaling.

!!! The FMX-version currently supports Windows32Bit and Windows64Bit only !!!

Now also contains a legacy-version suitable for Delphi 2006 and up. It is in the folder BitmapScaling_Legacy. Unit names have been appended by Legacy, otherwise usage is the same as explained below. The demo requires Windows 2000 or higher to run.

New: Parallel unsharp-mask routine for VCL and FMX-versions. Can be used for sharpening or blurring pictures. Uses Gaussian blur with variable pixel-radius. Has an extra demo Sharpen.dproj in Demos\DemosVCL. For FMX you can see effects in the ThreadsInThreadsFMX demo. There is not yet an unsharp-mask for the legacy-version.

Usage:

VCL: Add the units uScale.pas and uScaleCommon.pas from the Resampler-folder to your project. The usage of the resampling-routines is explained in uScale.pas. For some of the types used, see uScaleCommon.pas. Try the demos in Demos\DemosVCL

FMX: Add the units uScaleFMX.pas and uScaleCommon.pas from the Resampler-folder to your project. The usage of the resampling-routines is explained in uScaleFMX.pas. For some of the types used, see uScaleCommon.pas. Try the demos in Demos\DemosFMX

My conclusion on the version for FMX: It was fun to make the parallel resampling work for FMX, and I learned quite a bit about FMX (though I'm probably still using it too much in the VCL-way). But I would probably not use it myself in an FMX-application. Though the resampling quality is better, the difference is almost unnoticeable in most use cases, and the speed of the GPU can't be matched by anything using the CPU. And to make the resampler truly cross-platform would be a lot of work. So I'll probably leave the FMX-version in its present state.

parallel-bitmap-resampler's People

Contributors

rmesch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.