Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
General
»
FloodFill
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Beeping sound when cursor...
by
Martin_fr
[
Today
at 10:18:04 am]
Lazarus IDE defaults when...
by
Martin_fr
[
Today
at 10:10:40 am]
Why renaming must be done...
by
WooBean
[
Today
at 09:24:06 am]
lazarus ide tstring list ...
by
Prakash
[
Today
at 07:54:08 am]
Move a window between Wor...
by
Aruna
[
Today
at 03:46:12 am]
[SOLVED] Getting started ...
by
rushfan
[
Today
at 02:33:39 am]
Game Music Emulator
by
Fred vS
[
Today
at 01:00:26 am]
Str declaration
by
MarkMLl
[
Today
at 12:39:52 am]
DBGRID | Picklist on fiel...
by
TRon
[September 18, 2024, 10:25:50 pm]
Stack Overflow in RtlVirt...
by
af0815
[September 18, 2024, 09:32:09 pm]
Setting the fpc path
by
TRon
[September 18, 2024, 08:02:50 pm]
How to add float value s...
by
LBoxPO
[September 18, 2024, 07:25:39 pm]
Compiler error when check...
by
Thaddy
[September 18, 2024, 07:11:38 pm]
Loading text data from a ...
by
alpine
[September 18, 2024, 06:47:01 pm]
Simple multithreading cod...
by
MarkMLl
[September 18, 2024, 06:10:58 pm]
Recommended way to build ...
by
carl_caulkett
[September 18, 2024, 06:07:42 pm]
Incorrect FPC/Lazarus bui...
by
TRon
[September 18, 2024, 05:26:36 pm]
Vectors to find Center of...
by
Boleeman
[September 18, 2024, 03:48:26 pm]
7zip DLL is super broken
by
domasz
[September 18, 2024, 03:47:13 pm]
Gridprinter Newby
by
Zvoni
[September 18, 2024, 03:03:35 pm]
QuasiClever Fractal
by
Boleeman
[September 18, 2024, 02:23:56 pm]
Bitmap 16bit R5G6B5
by
wp
[September 18, 2024, 11:50:20 am]
"Show Compiler Dialog"
by
MarkMLl
[September 18, 2024, 10:21:49 am]
AI, NLP and CAI: Text Gen...
by
schuler
[September 18, 2024, 09:48:18 am]
Hashids that you need but...
by
Thaddy
[September 18, 2024, 06:10:34 am]
« previous
next »
Print
Pages: [
1
]
Author
Topic: FloodFill (Read 496 times)
BubikolRamios
Sr. Member
Posts: 296
FloodFill
«
on:
August 09, 2024, 09:48:20 am »
White is flood filled black, is this intended that the rest of
1 px
black lines are not flooded ?
Code: Pascal
[Select]
[+]
[-]
PaintBox1
.
Canvas
.
FloodFill
(
b
.
X
,
b
.
y
,
PaintBox1
.
Canvas
.
Pixels
[
b
.
X
,
b
.
y
]
,
fsSurface
)
;
«
Last Edit: August 09, 2024, 09:49:54 am by BubikolRamios
»
Logged
lazarus 3.2-fpc-3.2.2-win32/win64
Eugene Loza
Hero Member
Posts: 729
Re: FloodFill
«
Reply #1 on:
August 09, 2024, 08:13:32 pm »
Looks like it's the default behavior, GIMP does exactly the same way (see screenshot, flood-filled your white with black and then with red).
I believe this happens because flood-fill doesn't do "diagonal" movements, only vertical or horizontal.
Logged
My FOSS games in FreePascal&CastleGameEngine:
https://decoherence.itch.io/
(Sources:
https://gitlab.com/EugeneLoza
)
wp
Hero Member
Posts: 12302
Re: FloodFill
«
Reply #2 on:
August 09, 2024, 08:41:48 pm »
The parameter "fsSurface" fills all horizontally and vertically adjacent pixels having the specified color (
https://lazarus-ccr.sourceforge.io/docs/lazutils/graphtype/tgraphicsfillstyle.html
). But when you look carefully at the magnified screenshot in the first post you see that there is no connection from the white to the diagonally adjacent black pixels.
What you can do is to iterate over all pixels, check the color and replace black pixels with white. But do not use the Canvas.Pixels[x,y] property if your image has some reasonable size. Instead, convert the bitmap to a LazIntfImage which gives you much faster access to the pixels; at the end convert back to TBitmap. If you post your test image I can write a procedure for this.
«
Last Edit: August 09, 2024, 08:45:27 pm by wp
»
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
General
»
FloodFill
TinyPortal
© 2005-2018