It works thx

On Sat, 2005-12-31 at 11:38, Mattias Gaertner wrote:
> On 31 Dec 2005 11:22:24 +0100
> Darius Blaszijk <[EMAIL PROTECTED]> wrote:
> 
> > > Red, Green, Blue, Alpha are words (0-65536). Use 32768.
> > I tried, but the bitmap is just copied (as it should) and setting the
> > pixels to 32768 does not affect the appearance.
> > 
> > Darius
> > 
> > 
> > On Sat, 2005-12-31 at 10:49, Mattias Gaertner wrote:
> > > On Sat, 31 Dec 2005 01:05:09 +0100 (CET)
> > > [EMAIL PROTECTED] wrote:
> > > 
> > > > 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;
> > > 
> > > Red, Green, Blue, Alpha are words (0-65536). Use 32768.
> 
> Sorry. I forgot:
> 
> Reading TempIntfImg.Colors[x, y] returns a record.
> Setting TempIntfImg.Colors[x, y].red changes only a temporary record.
> You must write to the TempIntfImg.Colors[x, y]. For example:
> 
> col:=TempIntfImg.Colors[x, y];
> col.red:=32768;
> TempIntfImg.Colors[x, y]:=col;
> 
> Mattias
> 
> > > 
> > > 
> > > >       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;
> > > 
> > > Mattias
> > > 
> > > _________________________________________________________________
> > >      To unsubscribe: mail [EMAIL PROTECTED] with
> > >                 "unsubscribe" as the Subject
> > >    archives at http://www.lazarus.freepascal.org/mailarchives
> > 
> > 
> > _________________________________________________________________
> >      To unsubscribe: mail [EMAIL PROTECTED] with
> >                 "unsubscribe" as the Subject
> >    archives at http://www.lazarus.freepascal.org/mailarchives
> 
> _________________________________________________________________
>      To unsubscribe: mail [EMAIL PROTECTED] with
>                 "unsubscribe" as the Subject
>    archives at http://www.lazarus.freepascal.org/mailarchives


_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to