On Feb 23, 2006, at 12:05 PM, Mike Woodworth wrote:


On Feb 23, 2006, at 11:23 AM, Charles Yeomans wrote:

  call LockPixels(pixmap)
  baseaddr = GetPixBaseAddr(pixmap)

msgbox baseaddr.StringValue(0,1024) //<shows the same thign no matter what picture




pixmap seems ok, lock pixels doesnt fail - but the pixelType always returns "" and the baseaddr seems generic, perhaps its not really the start of data(its padded somehow at the head?)


This may be because the baseAddr field of the PixMap for an offscreen gworld is a handle, not a pointer.

--------------
Charles Yeomans

my impression (and i'm likely wrong) was that its a handle in the struct, but that GetPixBaseAddr() returns the ptr behind the handle.

No, you're correct.

type = pixmap.OSTypeMBS(60) is returning a strange value because 60 isn't the right offset; I compute it to be 38. A PixMap struct is 50 bytes.

As for baseaddr.StringValue(0,1024), you might try creating a Picture object and set the pixels to known values, then poke around and if you can find them using these functions.

--------------
Charles Yeomans

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to