Convert CBitmap object to CxImage object MFC - object

I have a CBitmap object "m_bmp". I need to convert this to a CxImage Object. Any ideas? Is there any direct conversion from bitmap object to other types available from CxImage?

m_Img.CreateFromHBITMAP((HBITMAP)m_bmp.m_hObject);
m_Img is a CxImage Object. After initializing the device context to draw to "m_bmp", the CreateFromHBITMAP function is called.

Related

Getting Matterjs Element

I looked up a matterjs rectangle object and noticed an id. Is there is any way to retrieve the rectangle object by that id?
Object Data Example:
id:5
type:body
label:Rectangle Body
parts:Array
plugin:Object
angle:0
vertices:Array
position:Object
Use this:
Matter.Composite.get(composite, id, type);
More information: https://brm.io/matter-js/docs/classes/Composite.html#method_get

How to Casting Object(by Type.InvokeMember) to ObservableCollection<ReflectionType>?

When I got the object by calling Type.InvokeMember(), the Object Type is
Object{ObervableCollection<SomeType>
How can I Casting this object to original type? or how to casting the object to DataTable or List<OriginalType>?

How to check if two JNI Arrays point to the same memory location?

I have two arrays:
auto inputArray = reinterpret_cast<jbyteArray>(mainEnv->NewGlobalRef(imageDataArray));
auto output = reinterpret_cast<jfloatArray>(mainEnv->NewGlobalRef(data));
When I try:
auto input = env->GetByteArrayElements(inputArray, nullptr);
I'm getting this error:
"JNI DETECTED ERROR IN APPLICATION: attempt to get byte primitive array elements with an object of type float[]"
My guess is "inputArray" (byte array) point to the same memory location of "output" (float array).
How can I check that?
You can tell if two object references point to the same object with the JNI IsSameObject function.
The error message is telling you that you're calling GetByteArrayElements on a float[]. Getting the array object's class (with GetObjectClass) would let you query the class of the object at the point it's passed to native code, so you can confirm that the arrays have the types you expect. From there you can narrow your focus and figure out where things are going wrong.

Excel VBA - How to convert an Object into a String

I like to convert an Object into a string. I found this topic but I can not get it to work in Excel 2010 ("Cast.xxx", "CArray()" and "Array()" seems to be unknown to Excel?)
I know how to convert a variant e.g. "toString = CStr(x)" but not how to do it the best way for an object
Function toString(ByVal x As Variant) As String
If TypeOf x Is Object Then
toString = ???
Else
toString = CStr(x)
End If
End Function
any suggestions?
Are you referring to the IFormattable interface. For example in VB.NET?
Excel VBA isn't a language that will provide you with a ToString method since it doesn't support inheritance.
In your example, you are simply converting whatever the variant is to a string, but an object in VBA wont support this directly.
If you have an external COM object, this would need to be exposed in the interface to access this method to call it from VBA.
For your own classes, you could implement your own IFormattable interface for your objects, but you would have assign to that interface before being able to call the objects ToString method - possible with a helper method. You could of course just supply a ToString method for every class which will through the class interface, but if you want to include this functionality for all objects, then an interface is probably the way to go.
Hope that helps.

Return object to original position on TouchesEnded?

I am trying to do a very basic thing but I am new to this.
Basically I have a screen with a 3 objects that can move around,
I have implemented a method which I call when TouchesMoved happens -
if object X moves over main object the object X will be hidden.
What I want to do is when the object Y is released over the main object
it will return to the position it was moved from.
should this be implemented in the TouchesEnded?
what would the method look like?
Any help would be very appreciated.
All you'd have to do here, is remember the object position in touchesBegan: and then restore the object in touchesEnded:
If you're only accepting single touches, then you can use something like this in the touchesBegan / touchesEnded methods to grab the touch...
CGPoint location = [[touches anyObject] locationInView:self];

Resources