Re: Separate releases: Delphi 10 Win32 / Delphi 10 .Net

From: Rudy Velthuis [TeamB] (velthuis_at_gmail.com)
Date: 01/14/05


Date: Fri, 14 Jan 2005 22:55:34 +0100

Michael Anonymous wrote:

> Yes, your example is is good for arrays.
> However, type safe arrays don't seem to help me with
> certain routines where pointers are extremely useful.

> A Microsoft DIBs can:
>
> ++ have a different width or height
> ++ be top-down ( upside down, right side up )
> ++ Each scanline can have a pad ( extra bytes ) at the end.
> ++ can have different pixel formats ( 8, 16, 24, 32 )

I know. And yet, the VCL.NET seems to be able to handle them.
 
> Without going into the whole process of loading a DIB into memory,
> one has to figure out where the location of each scanline is before
> processing the image.

Yes, indeed.

> Since Microsoft padded each scanline to a
> 32bit boundary, one has to use that fact to determine the location of
> each scanline for image processing instead of just using a certain
> pixel array. ( I wish it was that simple. ) Writing routines to
> process DIBs seems to be easier and necessary using pointers.

Perhaps, but not necessarily so.

-- 
Rudy Velthuis [TeamB]      http://rvelthuis.bei.t-online.de
"There's no trick to being a humorist when you have the whole government
 working for you." -- Will Rogers (1879-1935)       


Relevant Pages

  • Re: Separate releases: Delphi 10 Win32 / Delphi 10 .Net
    ... >>Writing routines to ... >>process DIBs seems to be easier and necessary using pointers. ... ;-) lol ...
    (borland.public.delphi.non-technical)
  • Re: C# very optimisation
    ... When talking about image processing, a VERY big performance bonus can be ... gained when using unmanaged (unsafe) code and pointers. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: C# very optimisation
    ... gained when using unmanaged (unsafe) code and pointers. ... I remember an article saying unmanaged image processing can be up to 28 times faster than managed. ...
    (microsoft.public.dotnet.languages.csharp)

Loading