To get a MemoryBlock, do the following.

dim m as new MemoryBlock(4)
#If TargetWindows
  m.Long(0) =  g.Handle(HandleTypeHDC)
#Elseif TargetMacOS
  m.Long(0) =  g.Handle(HandleTypeCGrafPtr)
#Endif     // Linux not supported
If m.Long(0) = 0 then
  //you didn't get a valid handle
End if
m = m.Ptr(0)

Now m points to whatever the handle points to.

You might find chapter 2 of my declares book <http:// www.declareSub.com/> helpful.

Charles Yeomans



On Jul 10, 2006, at 4:10 PM, Phil M wrote:

Is there a way to manipulate/access the individual pixels of a Picture using the Handle property?

I would like to access the raw picture data with a MemoryBlock, but I don't know how to convert the pointer returned from the Graphics.Handle into a MemoryBlock.

Dim g As Graphics = p.Graphics // assume p is passed as function parameter
  Dim m As MemoryBlock

  #If TargetWindows
    ?? = g.Handle(HandleTypeHDC)
  #Elseif TargetMacOS
    ?? = g.Handle(HandleTypeCGrafPtr)
  #Endif     // Linux not supported

What can I do to get the Handle into a MemoryBlock?

_______________________________________________
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