On Jul 4, 2007, at 7:12 PM, Mark Hammond wrote:
>>>>>
>>
>> At this point f should be a 2048 by 1536 array of bytes, but
>> instead...
>>
>>>>> len(f)
>> 2048
>>>>> type(f)
>> <type 'buffer'>
>
> Arrays of type VT_UI1 are returned as buffers.  You should find the  
> length
> of f is 1536, and you can treat it as a string (ie, just index into  
> it to
> fetch the values, len() to get the length, slice it, etc).  This is
> primarily done as an optimization, so we don't need to waste time  
> and space
> building lists of lists of integers when the data is more naturally a
> 'string of bytes' anyway.
>
> Mark
>

I don't quite follow.

I understand (well, I think I understand) how a buffer works. The  
problem is that the length is wrong.

As shown above, the length of f is 2048. If the array was being  
returned correctly
as a buffer, then the length should be 3145728 (2048 * 1536).
_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to