110,534
社区成员
发帖
与我相关
我的任务
分享
//这是C++函数,bytes为C#给C++的图片,data是C++需要传给C#的图片
int MyImageChangeDll::MainDll(double desWidth,double desHeigh,BYTE *bytes,INT *len , BYTE *data)
//C#函数
[DllImport("ImageChangeDll.dll")]
public static extern
int MainDll(double desWidth, double desHeigh, Byte[] pObject, ref int len, ref Byte[] data);
DoMain
{
Bitmap bmp = new Bitmap(bmpPath);
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] bytes = ms.GetBuffer();
byte[] data = new byte[415801+10];
byte[] data1 = new byte[100];
MainDll(420, 330, bytes, ref len, ref data);
}
//C#给C++的bytes数组,在C++已经成功接收并且处理了;这个data是C++返回给C#的图片,C#接收不成功
IplImage plmg = IplImage(desImg);
char *data1 = plmg.imageData;
*len = strlen(data1);
data=(BYTE*)data1;