scanning under windows WIA with custom settings (dpi / etc )
News123
news123 at free.fr
Sat Nov 28 18:10:45 EST 2009
MRAB wrote:
> News123 wrote:
>> r wrote:
>>> more *maybe useful dump?
>>>
>>>>>> for i in dev.Items:
>>> for p in i.Properties:
>>> if not p.IsReadOnly:
>>> print p.Name, '->', p.Value
>>>
>> . . .
>>> Horizontal Resolution -> 200
>>> Vertical Resolution -> 200
>>> Horizontal Start Position -> 0
>> . . .
>>> Now how to set the values... hmmm?
>>>
> Well, according to that they /aren't/ read-only because it says:
>
> if not p.IsReadOnly:
> ^^^
>
Exactly they are NOT read only, which means they are supposed to be
writable.
the python code is
for p in i.Properties:
if not.p.ISReadOnly:
# if I'm here I'm supposed to change them, but how?
the C# code, which succeds changing the property is:
foreach (Property prop in item.Properties){
if (prop.IsReadOnly) continue; // skip rest of loop
// if property cannot
// be modified
// now change property
if (prop.Name == "Horizontal Resolution")
{
IProperty iprop = (IProperty)prop;
Object val = 75;
iprop.set_Value(ref val);
}
}
The main question is the correct python method to change the property
prop = 300 # doesn't work as it just replaces the property with an integer
prop.set_Value(res) # doesn't work as the method set_Value doesn't seem
to exist
> Traceback (most recent call last):
> File "C:\WIA\scan_wia.py", line 41, in <module>
> image = scan_image_wia()
> File "C:\WIA\scan_wia.py", line 37, in scan_image_wia
> image = transferImg(dev)
> File "C:\WIA\scan_wia.py", line 27, in transferImg
> setImgProps(item)
> File "C:\WIA\scan_wia.py", line 20, in setImgProps
> prop.set_Value(res)
> File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 512, in
> __getattr__
> raise AttributeError("%s.%s" % (self._username_, attr))
> AttributeError: <unknown>.set_Value
bye
N
More information about the Python-list
mailing list