#ifndef ZKCAMERAIMAGE_H #define ZKCAMERAIMAGE_H #include "baseDefine.h" #include "baseStruct.h" #include "iCameraObject.h" #define QIMAGE_FUNC_KEY "bool_func" #define QIMAGE_FUNC_VALUE "func_true" class lpCameraImage { public: lpCameraImage(); ~lpCameraImage(); int CopyCameraObject(ICameraObject* pCamObj); int CopyCameraObject2(ICameraObject* pCamObj);//no combine and maybe use QImage const ZStringA& Serial() { return m_strSerial; } uint GetId() { return m_nId; } ULONG FrameNumber() { return m_nFrameNum; } emTpColorFormat ColorFormat() { return m_colorFormat; } bool pushAlg() { return bAutoPush; } long TriggerCount() { return m_nTriggerCount; } ZShowImage ToShowImage(int nShowW = 0, int nShowH = 0); QImage ToQImage(); QImage::Format ToQImageFormat(emTpColorFormat colorFormat); static emTpColorFormat FromQImageFormat(const QImage &image); static emTpColorFormat FromString(const QString& strColor); bool SaveToFile(const QString& strFile); bool SaveToFile(); BYTE* ImageData(int& nOutW, int& nOutH, int& nOutBitsPerPixel, int& nOutBytesPerLine); void SetAlgorithm(long nAlgorithm) { m_nAlgorithm = nAlgorithm; } long Algorithm() { return m_nAlgorithm; } const ZStringA& FileName() { return m_fileName; } void SetMeterCode(INT64 code) { m_nMeterCode = code; } INT64 MeterCode() { return m_nMeterCode; } int Width() { return m_pImage->width(); } int Height() { return m_pImage->height(); } INT64 Stamp() { return m_nTimeStamp; } const ZStringA& DllSuffix() { return m_dllSuffix; } void SetVarFromUI(const QVariant& v){ m_varFromUI = v; } const QVariant& VarFromUI() { return m_varFromUI; } void Mirror(bool horizontally, bool vertically) { if (!m_pImage) { return; } if (m_pImage->isNull()) { return; } *m_pImage = m_pImage->mirrored( horizontally, vertically); } private: void copyOption(ICameraObject* pCamObj) { m_nFrameNum = pCamObj->m_nFrameNum; m_nTriggerCount = pCamObj->m_nStartCount; m_strSerial = pCamObj->m_pCamOpt->uniqueName.toUtf8(); m_nId = pCamObj->m_pCamOpt->id; m_nAlgorithm = pCamObj->m_pCamOpt->algorithm; m_colorFormat = pCamObj->m_nColorFormat; } private: QImage* m_pImage; int m_nCopiedLines; ////////////////////////////////////////////////// ZStringA m_strSerial; long m_nId; long m_nAlgorithm; emTpColorFormat m_colorFormat; ZStringA m_fileName; ULONG m_nFrameNum; long m_nTriggerCount; INT64 m_nMeterCode; INT64 m_nTimeStamp; ZStringA m_dllSuffix; QVariant m_varFromUI; bool bAutoPush; }; #endif // ZKCAMERAIMAGE_H