Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

Re: PictureToString ?

  Alt 31. Mär 2006, 22:07
@ichbins
meinst du nicht, daß sowas extrem langsam ist ... die vielen Stringoperationen?

z.B. für pf8bit:
Delphi-Quellcode:
s := inttohex(b.width, 8) + inttohex(b.height, 8);
for y := 0 to b.height - 1 do
  s := s + toHexBE(b.ScanLine[y], b.width);
z.B. für pf24bit:
Delphi-Quellcode:
s := inttohex(b.width, 8) + inttohex(b.height, 8);
for y := 0 to b.height - 1 do
  s := s + toHexBE(b.ScanLine[y], 3 * b.width);
//oder
s := inttohex(b.width, 8) + inttohex(b.height, 8)
  + toHexBE(b.ScanLine[y], 3 * b.width * b.height);

Delphi-Quellcode:
Function toHexBE(Data: Pointer; Size: LongInt): String;
  Const H: Array[0..15] of Char = '0123456789ABCDEF';

  Var i: Integer;
    R: Char;

  Begin
    SetLength(Result, Size * 2);
    R := PChar(Result);
    While Size > 0 do Begin
      R^ := H[PByte(Data)^ shr 4];
      Inc(R);
      R^ := H[PByte(Data)^ and $0F];
      Inc(R);
      Inc(Integer(Data));
      Dec(Size);
    End;
  End;
//i hof ma ich hab's richtig übersetzt °_°
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat