Re: Interoperability-Frage
- From: "Thomas Scheidegger [MVP]" <spam.netmaster@xxxxxxxxxxxxxx>
- Date: Mon, 22 Jan 2007 09:49:42 +0100
> (1)Weisst Du zufällig wie ich das in C++ managed bewerkstelligen kann?
> Da gibt es ja kein unsafe/fixed keyword.
in Managed C++ (2005:C++/CLI)
kann man sowieso managed und unmanaged C++ Source 'mischen', u.a. gibts auch IJW.
> (2)Wie übergebe ich eigentlich meinem managed code die Adresse
> ....die Adressübergabe müsste als gemarshallt werden.
Pointer & Handles in C# typisch als Typ: 'IntPtr', nur zB:
http://www.pinvoke.net/default.aspx/gdi32.CreateDIBitmap
Für .NET-Bitmaps, zusammen mit Bitmap.LockBits & unsafe, IntPtr, zB:
http://www.codeproject.com/csharp/quickgrayscale.asp
> Bitmap zu nehmen, und diese in einem WPF Window anzeigen zu lassen?
WPF hat (auch wie GDI+) eigene ('abstraktere') Bitmap und Rendering - Konzepte.
Soweit ich gerade sehe für Einbinden von GDI32-Bitmaps:
System.Windows.Interop.Imaging
CreateBitmapSourceFromHBitmap / CreateBitmapSourceFromMemorySection
> diese Surface dann in managed DirectX
> in den Backpuffer meiner GFX card zu schreiben?
ich vermute auch am ehesten/direktesten möglich mit DirectX (Direct3D ggf älteres DirectDraw),
kenne aber keine Details.
Evtl. auch ein Ansatz,
nur den jeweils sichtbaren Ausschnitt selber per Win32-API in .NET-Window zeichnen,
soweit ich mich erinnere Bsp in (ohne Gewähr):
http://www.codeproject.com/dotnet/twaindotnet.asp
(PicForm.cs OnPaint() : SetDIBitsToDevice)
--
Thomas Scheidegger - MVP .NET - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/
.
- References:
- Interoperability-Frage
- From: Axel Gallus
- Re: Interoperability-Frage
- From: Thomas Scheidegger [MVP]
- Re: Interoperability-Frage
- From: Axel Gallus
- Interoperability-Frage
- Prev by Date: Re: Interoperability-Frage
- Next by Date: Re: Meldung bei neuer E-Mail
- Previous by thread: Re: Interoperability-Frage
- Index(es):
Relevant Pages
|