Graphics32 class TBitmap32 has a canvas so everything that can draw on Canvas can draw on TBitmap32. I want to create my own bitmap class not derived from TBitmap nor TBitmap32 and also have a Canvas. I could just fake it by using a TBitmap with it's Canvas and then just copy pixels to my class. But that's quite slow.
How to add Canvas to a custom class?
142 Views Asked by Tom At
1
There are 1 best solutions below
Related Questions in DELPHI
- How can I read the header of request to webserver
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- Delphi - How to get result of function from QuickReport without viewing a report?
- Out of memory while adding documents to a Firebird BLOB field with Delphi
- How to MakeScreenshot fullpage on Delphi
- How to program a COM object with an IEnumerator, IEnumerable interface inside
- How to Dynamically Add Controls to Delphi Form
- How to write a string in Stringrid with DelimitedText in FMX Delphi 11
- TGrid/TStringGrid multi cell selection / multi editing in delphi firemonkey (12)
- How to localize "Today" in the Delphi TMonthCalendar?
- How can I call a SOAP webserver method in Vue.js?
- Efficiently Handling Large Number of API Calls with Delphi 10.4 and OmniThreadLibrary
- Delphi can not compile the unit create by its "XML Data Binding Wizard"
- Save Form Properties in File and then restore those Properties after reopening
- Is it possible to open a blob without saving it to file
Related Questions in CANVAS
- Random number generator in Python Canvas
- When I use electron js and canvas in node js, I get a rebuild module error
- How to set an individual mouse scroll on two different canvases that are connected to separate frames but the frames are one on top of eachother?
- Positioning for sliders and canvas
- How to perfectly align textarea and canvas fillText
- Rust Ownership Challenges in Drawing Application: Need Assistance with Code Section
- Zoom In/Out particular Object with Touch in Fabric JS
- How to send a big array to a client faster
- Android: How to scale a bitmap to fit the screen size using canvas?
- How can i resize canva and send resized data to database?
- Given a convex polygon as a set of edges how to fill the area inside depending on the distance to the closest edge
- SigmaJS: Create a snapshot of "sigma-containter"
- Draw local image on canvas using react-native-canvas
- Rotating multiple objects around the origin (JavaScript Canvas)
- How to proper rotate object with a 45-degree angle using OrbitControls?
Related Questions in GRAPHICS32
- Problem displaying rotated text with Graphics32 in Delphi
- Graphics32. Disabling the scaling (change) of the RubberbandLayer
- Graphics32: conversion from GR32_PolygonsOld
- How to add Canvas to a custom class?
- How to fix the "Incompatible types: 'PPointer' and 'Pointer'" Delphi compiler error?
- Transparent PNG image loaded from resource file, resized with Grapics32 and drawn on the Canvas
- Broken scrollbars in Graphics32's TImgView32
- Is it possible to convert TBitmap32 to TBitmap without copying pixels?
- Graphics32: TBitmap32 and error "Can't allocate the DIB handle"
- Changing Graphics32's TImgView32's resampler kernel on the fly
- How to create Bitmap32 from Bits array?
- The GR32_VectorUtils.Circle method works different from my expectation
- TBitmap32.Assign() abnormal behavior
- Graphics32 and VCL Styles
- GIF animation TImage/Timage32
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
With Graphics32 several drawing "backends" are available. Each has different advantages and disadvantages. However, mostly related to performance and memory consumption.
The default (for TBitmap32) is TGDIBackend, which is quite versatile. This said, it inherits all the disadvantages from GDI. In particular the number of GDI elements is limited, so you can't have infinitesimally many instances.
A better choice would be TMemoryBackend, but this alone can not be drawn ("blitted") onto the screen (i.e. any DC). A compromise is the TGDIMemoryBackend, which is a TMemoryBackend with the ability to draw to the screen. However, it lacks font support if I remember correctly, but according to your requirements this is probably not necessary.