使用制造商的非托管代码而不调用它,而是按你的方式调用它
本文关键字:调用 方式 制造商 非托管代码 | 更新日期: 2023-09-27 18:25:19
using System;
using System.Drawing;
using System.Runtime.ExceptionServices;
using System.Runtime.InteropServices;
namespace FlyCapture2Managed
{
public class ManagedImage : IDisposable
{
public ManagedImage();
public ManagedImage(ManagedImage image);
public ManagedImage(byte* pData, uint dataSize);
public ManagedImage(uint rows, uint cols, PixelFormat format);
public ManagedImage(uint rows, uint cols, PixelFormat format, BayerTileFormat bayerFormat);
public ManagedImage(uint rows, uint cols, uint stride, byte* pData, uint dataSize, PixelFormat format);
public ManagedImage(uint rows, uint cols, uint stride, byte* pData, uint dataSize, PixelFormat format, BayerTileFormat bayerFormat);
public ManagedImage(uint rows, uint cols, uint stride, byte* pData, uint dataSize, uint receivedActualSize, PixelFormat format);
public ManagedImage(uint rows, uint cols, uint stride, byte* pData, uint dataSize, uint receivedActualSize, PixelFormat format, BayerTileFormat
}
这是原始代码。我正在努力完成这项工作
using System;
using System.Drawing;
using System.Runtime.ExceptionServices;
using System.Runtime.InteropServices;
namespace FlyCapture2Managed2
{
public struct ManagedImage2 : IDisposable
{
public ManagedImage2();
public ManagedImage2(ManagedImage image);
public ManagedImage2(byte* pData, uint dataSize);
public ManagedImage2(uint rows, uint cols, PixelFormat format);
public ManagedImage2(uint rows, uint cols, PixelFormat format, BayerTileFormat bayerFormat);
public ManagedImage2(uint rows, uint cols, uint stride, byte* pData, uint dataSize, PixelFormat format);
public ManagedImage2(uint rows, uint cols, uint stride, byte* pData, uint dataSize, PixelFormat format, BayerTileFormat bayerFormat);
public ManagedImage2(uint rows, uint cols, uint stride, byte* pData, uint dataSize, uint receivedActualSize, PixelFormat format);
public ManagedImage2(uint rows, uint cols, uint stride, byte* pData, uint dataSize, uint receivedActualSize, PixelFormat format, BayerTileFormat
}
public class managed
{
[DllImport(@"S:'FlyCapture2SimpleGUI_CSharp'bin'x64'Debug'FlyCapture2Managedd_v100.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void managed();
}
我不断收到错误错误
The type or namespace name 'PixelFormat' could not be found (are you missing a
using directive or an assembly reference?). The Pixelformat in this case is part of the name space "flycapture" and not System.Drawing.imaging namepspace
但是,我不想使用该引用,因为我更喜欢在我的工作中引用这段代码。
问候
PixelFormat
枚举是 System.Drawing.Imaging
命名空间的一部分,因此您应该在文件顶部添加此 using 指令:
using System.Drawing.Imaging;