Hi,
The following function does not work. It seems that the image is not
affected at all, although all color channels are set to 128. I would
expect to get a uniformly gray image, the size of the initial bitmap. What
am I missing here?
function ConvertBitmap(ABitmap: TBitmap): TBitmap;
var
TempIntfImg: TLazIntfImage;
ImgHandle,ImgMaskHandle: HBitmap;
x, y: Integer;
begin
TempIntfImg:=TLazIntfImage.Create(0,0);
TempIntfImg.LoadFromBitmap(ABitmap.Handle,ABitmap.MaskHandle);
Result:=TBitmap.Create;
//change all pixels to gray
for y:=0 to Pred(TempIntfImg.Height) do
for x:=0 to Pred(TempIntfImg.Width) do
begin
TempIntfImg.Colors[x, y].Red:=128;
TempIntfImg.Colors[x, y].Green:=128;
TempIntfImg.Colors[x, y].Blue:=128;
end;
TempIntfImg.CreateBitmap(ImgHandle,ImgMaskHandle,false);
Result.Handle:=ImgHandle;
Result.MaskHandle:=ImgMaskHandle;
TempIntfImg.Free;
end;
Darius
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives