OPOS Signature Capture Data Format

Mar 07, 2008 2 Replies

Hello Everybody,



If this question is in the wrong place - kindly suggest the correct place.



I am developing software that captures signatures from a signature pad and sends it to Microsoft Dynamics for storage and display.



This is a Signature Capture Service Object Driver, and I am using the OPOS standard.



Can someone help me find the exact structure that RMS want's to see this signature data ?



RMS calls GetPropertyString to recieve a BSTR containing the data, this is working correctly, however, the signature displayed is slightly corrupted - appearing to contain a few glitches in what would otherwise be a straight line. It looks very much like there is "noise" in the data.



I know that the data from the physical device is correct, at least in terms of the format they describe. Which is, 2 bytes contain the X coordinate, and then 2 bytes contain the y coordinate ( together, these 4 bytes are 2 wide-chars), and the 2nd of each pair contains the high order byte of the coordinate. Thus, I have to shift the 2nd byte 8 bits left and or it with the



1st byte to obtain the valid coordinate. Thus the data from the device seems to be valid when used this way - but I have no idea whether RMS would be expected to manipulate these bytes this way (and in fact, sending the data in this form to RMS shows nothing). The only way I can get anything to show up in RMS is to put a NULL after every byte in the data as just described - and when I do that - I get this minor corruption.

If anyone has ever seen something like this or knows who I should ask, I would very much appreciate it.



Thank you, Nate Clark


Did you find out how to do it yet? I'm looking to find the exact same thing. Except that the shifting left the second byte is not that odd. The OPOS instruction clearly said that the first byte is the low byte for the X value, and the second byte is the HIGH byte of the X value. This is the samething as shifting 8 bits left, or even easier, you can say that x = FirstByte + (SecondByte * 256).

But even when I do that, the image produced by the decoding of the data does not look like a signature at all. So... did you find out what's wrong?

Thanks

Guy

The BSTR containing data is supposed to be used with GetTotalPoints(), If you do a SignatureString = SubString(BSTRSignatureString , GetTotalPoints() * 4)

You will remove the noise.

4 above is for XCoordinateSize + YCoordniateSize ;

Chamara Ranas> >> Hello Everybody,

##-----------------------------------------------## Newsgroup Access Courtesy

formatting link
Tax and Accounting Software ForumsWeb and RSS access to your favorite newsgroup - microsoft.public.pos - 35303 messages and counting!##-----------------------------------------------##

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required