Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Image Canvas Pixel in Memo

  Alt 29. Mai 2008, 15:38
Du initialisierst s nicht. Ich bin gerade unsicher, ob das für lokale Strings nötig ist, aber setz vor deine Schleifen mal ein "s := '';". Ansonsten ist das Zusammenbauen mit "s := s + t" an sich nicht falsch, wenn auch nicht gerade speicherfreundlich.

Edit: Und gewöhne dir in deinem eigenen Interesse eine Codeformatierung an. Erhöht die Lesbarkeit gewaltig!
Delphi-Quellcode:
procedure TForm15.Button2Click(Sender: TObject);
var
  color: TColor;
  B, Y, X: Integer;
  hex, s, t:string;
begin
  for Y := 0 to Image1.Height-1 do
  begin
    s := '';
    for X := 0 to Image1.Width-1 do
    begin
      color := image1.Canvas.Pixels[X, Y];
      B := GetBValue(color);
      t := Chr(B);
      //Showmessage(t);
      s := s + t;
    end;
    Memo1.Lines.add(s);
  end;
end;
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat