You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
3.0 KiB
C++

#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