대리인이있는 .dll (내 소유가 아님)이 있습니다. 이 위임 콜백 기능은 다음과 같습니다
"CallBackFN (USHORT 연산 코드, 을 IntPtr 페이로드, UINT 크기, UINT LOCALIP)" C#에서 IntPtr에서 Byte []를 가져 오는 방법
답변
육군 원을 들여다보십시오. 복사 하시겠습니까?
http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.copy.aspx
이 this Stack Overflow question에 따르면, 당신이 할 수있는 사용할 수 있습니다
var byteArray = new byte[dataBlockSize];
System.Runtime.InteropServices.Marshal.Copy(payload, byteArray, 0, dataBlockSize);
downvoter가 설명해 주길 바래요? –
경우의 바이트 :
byte[] managedArray = new byte[size];
Marshal.Copy(pnt, managedArray, 0, size);
는 바이트가 아니라면, Marsha의 크기 매개 변수 l.Copy는 배열의 요소 수이며 바이트 크기는 아닙니다. 따라서, byte [] 배열이 아닌 int [] 배열이 있다면, 콜백을 통해 전달 된 size 매개 변수가 참조하는 것으로 가정하면, 복사 할 요소의 정확한 수를 얻기 위해 4로 나누어야합니다 (int 당 바이트). 바이트 수. 성능이 필요하면
감사. 나는 이것이 이것이라고 생각한다. 배열이 바이트가 아니면 대답의 첫 번째 절반에 대해 "크기" – Gabriel
+1을 변경하려고합니다. 정말로, 나머지 절반은 ... 나는 그것을 읽지도 않았다. :) – Bitterblue
, 직접 사용
unsafe {
byte *ptr = (byte *)buffer.ToPointer();
int offset = 0;
for (int i=0; i<height; i++)
{
for (int j=0; j<width; j++)
{
float b = (float)ptr[offset+0]/255.0f;
float g = (float)ptr[offset+1]/255.0f;
float r = (float)ptr[offset+2]/255.0f;
float a = (float)ptr[offset+3]/255.0f;
offset += 4;
UnityEngine.Color color = new UnityEngine.Color(r, g, b, a);
texture.SetPixel(j, height-i, color);
}
}
}
- 1. Java에서 Image의 byte []를 가져 오는 방법은 무엇입니까?
- 2. C에서 텍스트에서 날짜를 가져 오는 방법 #
- 3. C에서 사전의 키를 가져 오는 방법 #
- 4. objective-c에서 byte 값을 int로 변환하는 방법
- 5. 자바 프로젝트 (이클립스)를 가져 오는 방법
- 6. Image 객체에서 byte [] 데이터를 가져 오는 방법은 무엇입니까?
- 7. byte []를 byte [,,]에 어떻게 복사합니까?
- 8. JNA를 사용하여 GetForegroundWindow()를 가져 오는 중입니다.
- 9. byte []를 문자열로 변환
- 10. Byte []를 PDF로 변환
- 11. byte []를 Int16 []으로 처리하는 방법?
- 12. QT에서 BYTE *를 QByteArray로 변환하는 방법?
- 13. mysqldb 가져 오는 방법
- 14. 클래스를 가져 오는 방법 _ : 모두
- 15. C에서 repeatercontrol의 렌더링 컨트롤에서 드롭 다운 값을 가져 오는 방법 #
- 16. C에서 반복자를 사용하지 않고 목록에서 데이터를 가져 오는 방법 #
- 17. Emcc OpenCV Intptr에서 IplImage로?
- 18. iPhone의 Objective C에서 Byte 데이터 유형
- 19. 먼저 디스크에 저장하지 않고 ExcelWorkBook에서 byte []를 가져 오는 방법이 있습니까
- 20. Byte Aarray에서 이미지를 가져 오십시오
- 21. byte []를 Bitmap으로 변환하려면 어떻게해야합니까?
- 22. 이미지 byte []를 파일로 변환합니다.
- 23. byte []를 숫자와 단락으로 해석하기
- 24. Java에서 File에 byte []를 쓰십시오.
- 25. OutputStream 가져 오는 방법
- 26. 파일을 가져 오는 방법
- 27. csv로 가져 오는 방법
- 28. groovyx.net.http를 가져 오는 방법
- 29. 소켓을 사용하여 byte []를 번갈아 보내고받는 중
- 30. C에서 포인터를 사용하여 byte []에서 struct로 복사하기
가능한 중복 : http://stackoverflow.com/questions/5298930/how-to-get-byte-from-intptr-in-c –