구조체 배열을 바이트 배열로 복사하는 데 문제가 있습니다. 구조는 단순한 RGB 구조체입니다. C# 구조체 배열을 Marshal.Copy()를 사용하여 바이트로 복사합니다.
public struct RGBColor { byte r; byte g; byte b; }
은 그 때 나는 내가
LockBits()
라고 한 후
Bitmap
에 복사 할 주사선을 나타내는
RGBColor[]
의 배열을 가지고있다.
Marshal.Copy()
을 사용하여
byte[]
배열 만 복사 할 수 있습니다.
올바르게 이해한다면 (이해할 수 없다는 것을 명심하십시오) RGBColor[]
배열을 바이트 배열로 마샬링하고, 해당 데이터를 새로운 byte[]
배열에 복사 한 다음 해당 배열을 비트 맵에 복사해야합니다. 그것은 불필요한 복사 작업이 발생하는 것처럼 보입니다. 그리고 나는 중급자로 봉사하는 중간 배열 인 byte[]
배열을 가지고 있습니다.
RGBColor[]
을 byte[]
으로 캐스팅 할 수있는 방법이 없으므로 잠긴 비트 맵에 직접 복사 할 수 있습니까?
'보폭'이 양수인 모든 경우에 좋을 것 같습니다. –
Win32 API에 대해 잘 알고 있습니다. .NET 언어로 이런 식으로 사용할 수 있다는 것을 알지 못했습니다. 이 지시어 가져 오기가 Linux의 Mono에서 올바르게 작동하는지 알고 있습니까? – user2434792