Forum: Multimedia
FreePascal
by SMO,
29. Nov 2015
Dann hat die FreePascal-Version von TBitmap da wohl einen bösen Bug.
Forum: Multimedia
FreePascal
by SMO,
29. Nov 2015
Nicht zwingend. Lässt du dir das Bitmap anzeigen, z.B. so wie in meinem Code im OnPaint-Event des Hauptfensters? Falls nicht, mach das mal. Wäre interessant zu wissen, ob die Änderungen dort sichtbar sind oder nicht. Falls sie sichtbar sind, dann liegt es wohl wirklich an SaveToFile. Falls nicht, dann liegt das Problem woanders.
Forum: Multimedia
FreePascal
by SMO,
28. Nov 2015
Mal 'ne ganz dumme Frage: du führst SaveToFile schon für das richtige Objekt aus, oder?
Und ja, die Datei sollte einfach überschrieben werden.
Du könntest mal mehr von deinem Code zeigen, vielleicht liegt der Fehler woanders.
Forum: Multimedia
FreePascal
by SMO,
28. Nov 2015
Dann probiere mal PixelA^.rgbtBlue (analog für alle anderen Vorkommen); das ist strenggenommen die korrekte Form, denn PixelA und PixelB sind ja Pointer auf Records und müssen deshalb per "^" dereferenziert werden. In Delphi kann man sich das hier praktischerweise sparen. Wann genau das eingeführt wurde, weiß ich nicht.
Forum: Multimedia
FreePascal
by SMO,
28. Nov 2015
Bei mir funktioniert das problemlos.
Habe es minimal modifiziert, um es testen zu können:
var
BmpA, BmpB: TBitmap;
procedure Test(BmpIn, BmpInOut: TBitmap; Threshold: Byte; Color: TColor);
var
x, y: Integer;
PixelA, PixelB: PRGBTriple;