[Image-SIG] PIL video capture extension type problem
Rich Drewes
drewes@interstice.com
Sun, 10 Feb 2002 15:04:48 -0800
Fredrik Lundh wrote:
>"im.im" is the ImagingObject, "im.im.id" is a pointer to the
>Imaging structure, cast to a long integer.
>
>("im.im" might be None, if the raster image hasn't been loaded.
>if you cannot be sure that the image was created by a call to
>Image.new, call "im.load()" before accessing the "im.im" attribute)
>
>and yes, if you're going to fill the entire image anyway, you can
>pass in None as the third argument (fill colour):
>
> im = Image.new("RGB", (160,120), None)
>
You have me on the right track now. Thanks! However . . .
>also see the snap function in Sane/sane.py and Sane/_sanemodule.c
>
It seems like it would be more natural for the python code to pass the
plain "im" (not im.im or im.im.id) and then have the C code access the
actual Imaging portion of the structure itself. The _sanemodule.c
doesn't do this though--it passes in the im.im.id from Python, and the C
code has to accept that pointer as an int and typecast it to a pointer .
. . all kind of ugly. Why do it this way instead of passing in the "im"
and letting the C code find the Imaging portion of the structure?
Thanks again!
Rich