Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Graphics and Multimedia
»
Graphics
»
BGRABitmap and LazPaint
»
Convert BGRAbitmap to 256 Color BMP and save
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
Forum Rules
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
How can I get names of CO...
by
TheKeeper
[
Today
at 02:01:08 pm]
Accessing VRAM memory wit...
by
Thaddy
[
Today
at 01:31:19 pm]
How to check my own certi...
by
Thaddy
[
Today
at 01:27:09 pm]
Rounding issues (only wit...
by
avk
[
Today
at 12:53:56 pm]
Fixed an RV32ec compiler ...
by
ccrause
[
Today
at 12:04:05 pm]
[SOLVED} Copying existing...
by
Davo
[
Today
at 11:59:45 am]
Network drop and firewall
by
LeP
[
Today
at 11:49:07 am]
TDWEdit
by
Ed78z
[
Today
at 09:53:10 am]
FPC Unleashed (async/awai...
by
creaothceann
[
Today
at 08:43:43 am]
Elite Arcade
by
Zvoni
[
Today
at 08:17:20 am]
Review from FreePascal
by
dbannon
[
Today
at 04:39:23 am]
Which quantized model wor...
by
LeP
[July 20, 2026, 10:34:07 pm]
PasFLTK - Binding for FLT...
by
Dibo
[July 20, 2026, 10:26:31 pm]
[Closed]Indy10 hangs the ...
by
marcov
[July 20, 2026, 03:52:59 pm]
Slow app start on M5 MacB...
by
pleumann
[July 20, 2026, 03:07:54 pm]
Lazarus components
by
threedslider
[July 20, 2026, 02:37:23 pm]
Many recent books on Laza...
by
threedslider
[July 20, 2026, 02:27:45 pm]
[Solved]Setting the CURSO...
by
jamie
[July 20, 2026, 11:33:52 am]
Lazarus for Windows on aa...
by
Thaddy
[July 20, 2026, 09:39:06 am]
FastCGI vs. CGI
by
egsuh
[July 20, 2026, 06:33:08 am]
I have made some progress...
by
onionmixer
[July 20, 2026, 12:32:08 am]
Lazarus Bugfix Release 4....
by
n7800
[July 19, 2026, 10:59:09 pm]
Can not load postgres cli...
by
martinm
[July 19, 2026, 10:17:31 pm]
Gtk3 widgetset - call for...
by
zeljko
[July 19, 2026, 08:21:54 pm]
an error occurred while c...
by
Seenkao
[July 19, 2026, 07:29:14 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: Convert BGRAbitmap to 256 Color BMP and save (Read 1312 times)
winni
Hero Member
Posts: 3197
Convert BGRAbitmap to 256 Color BMP and save
«
on:
November 17, 2022, 02:08:35 pm »
Hi!
Question in the german forum:
How to convert BGRAbitmap to a 256 Color BMP and save it?
It is needed by some SAP software that rejects all images except 256-Color-BMP.
Is there a solution yet? I have not found anything.
Winni
Logged
paweld
Hero Member
Posts: 1685
Re: Convert BGRAbitmap to 256 Color BMP and save
«
Reply #1 on:
November 17, 2022, 05:13:52 pm »
Hi,
sample code:
Code: Pascal
[Select]
[+]
[-]
uses
BGRABitmap
,
BGRABitmapTypes
,
BGRAColorQuantization
,
FPWriteBmp
;
procedure
TForm1
.
Button1Click
(
Sender
:
TObject
)
;
var
img
:
TBGRABitmap
;
bmpw
:
TFPWriterBmp
;
quant
:
TBGRAColorQuantizer
;
i
:
Integer
;
begin
img
:
=
TBGRABitmap
.
Create
(
'd:\wzor80.jpg'
)
;
bmpw
:
=
TFPWriterBmp
.
Create
;
bmpw
.
BitsPerPixel
:
=
8
;
//bmpw.RLECompress := True;
quant
:
=
TBGRAColorQuantizer
.
Create
(
img
,
acIgnore
,
256
)
;
//reduce color to 256 without alfa
quant
.
ApplyDitheringInplace
(
daNearestNeighbor
,
img
)
;
img
.
UsePalette
:
=
True
;
img
.
Palette
.
Clear
;
for
i
:
=
0
to
quant
.
ReducedPalette
.
Count
-
1
do
//copy reduced colors to palette
img
.
Palette
.
Add
(
quant
.
ReducedPalette
.
Color
[
i
]
.
ToFPColor
)
;
img
.
SaveToFile
(
'd:\wzor80_256color.bmp'
,
bmpw
)
;
//save as bmp
bmpw
.
Free
;
//clean
img
.
Free
;
quant
.
Free
;
end
;
Logged
Best regards / Pozdrawiam
paweld
winni
Hero Member
Posts: 3197
Re: Convert BGRAbitmap to 256 Color BMP and save
«
Reply #2 on:
November 17, 2022, 05:37:06 pm »
Hi!
Thanx a lot.
The Quantizer was the part that I forgot. Getting old ...
The Link in the german forum:
https://www.lazarusforum.de/viewtopic.php?f=18&t=14593&p=131460#p131460
Winni
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Graphics and Multimedia
»
Graphics
»
BGRABitmap and LazPaint
»
Convert BGRAbitmap to 256 Color BMP and save
TinyPortal
© 2005-2018