|
| BMP konvertering Fra : Brian H. |
Dato : 12-02-03 18:49 |
|
Hej NG,
Er der nogen der kan hjælpe mig med en procedure til at konvertere et 2
color BMP billede/fil om til rå data i et array som char/bytes ?
Jeg bruger Delphi 5.
Mvh Brian
| |
Simon Hiort-Lorenzen (12-02-2003)
| Kommentar Fra : Simon Hiort-Lorenzen |
Dato : 12-02-03 23:37 |
|
"Brian H." <black-gold@natteliv.dk> wrote in message
news:kNv2a.83423$Hl6.7720682@news010.worldonline.dk...
> Hej NG,
>
> Er der nogen der kan hjælpe mig med en procedure til at konvertere et 2
> color BMP billede/fil om til rå data i et array som char/bytes ?
> Jeg bruger Delphi 5.
TBitmap.Scanline funktionen tager en horisontal linie pixels, og jeg mener
det er en bytearray du får ud af den ved 8bit bitmaps, og vist også med
monokrome.
Mvh.
Simon
| |
Brian H. (16-02-2003)
| Kommentar Fra : Brian H. |
Dato : 16-02-03 23:06 |
|
> TBitmap.Scanline funktionen tager en horisontal linie pixels, og jeg mener
> det er en bytearray du får ud af den ved 8bit bitmaps, og vist også med
> monokrome.
>
> Mvh.
> Simon
Tak for svaret, har prøvet at lege lidt med denne komponent,
men synes ikke rigtig at få det rigtige resultat ud ;
hvis "scanner" den første linie i et 1 bit billede (soft/hvid),
får jeg alle mulige forskellige værdier ud !??, det burde være lidt
mere 1 eller 0, som jeg skal bruge.
Nogen der kender denne komponent lidt bedre end mig !?
Flg. eksemble er brugt :
var
x,y : Integer;
BitMap : TBitMap;
P : PByteArray;
a:array[0..70000] of byte;
count,count2:integer;
begin
count := 0;
BitMap := TBitMap.create;
try
BitMap.LoadFromFile('c:\image1.bmp');
if BitMap.PixelFormat = pf1bit then
begin
for y := 0 to BitMap.height -1 do
begin
P := BitMap.ScanLine[y];
for x := 0 to BitMap.width -1 do
begin
a[count] := P[x];
inc(count);
end;
end;
end
else
ShowMessage ('Pic2Hex can only handle 1bit BMP files !');
finally
BitMap.free;
end;
| |
Olav M.J. Christians~ (17-02-2003)
| Kommentar Fra : Olav M.J. Christians~ |
Dato : 17-02-03 09:07 |
| | |
|
|