26 Mart 2018 Pazartesi

GCHandle Yapısı

Giriş
Şu satırı dahil ederiz.
using System.Runtime.InteropServices;
C# array nesnesini C veya C++ diline geçmek için kullanılır.

Örnek
Elimizde bir C# dizisi olsun. Şöyle yaparız.
Color32[] pixel32 = ...;

GCHandle pixelHandle;
IntPtr pixelPtr;

//Pin pixel32 array
pixelHandle = GCHandle.Alloc(pixel32, GCHandleType.Pinned);
//Get the pinned address
pixelPtr = pixelHandle.AddrOfPinnedObject();


//Convert Mat to Texture2D
GetRawImageBytes(pixelPtr, tex.width, tex.height);
...
//Free handle
pixelHandle.Free();

Hiç yorum yok:

Yorum Gönder