13#include "FLImagePage.h"
25 class CFLImageFileWorkStatus;
38 SupportToDuplicateObject(
CFLImage,*
this);
119 explicit CFLImage(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
138 explicit CFLImage(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
256 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarUL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
281 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarLL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
306 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarULL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
331 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarF flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
356 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarD flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
381 CFLImage(int64_t i64Width, int64_t i64Height,
const uint8_t* pU8Buffer,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
541 virtual const CResult LoadRaw(
const wchar_t* pWcsPath, int64_t i64Width, int64_t i64Height,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64OffsetByteFromBegin = 0, int64_t i64OffsetByteFromEnd = 0,
CFLImageFileWorkStatus* pIfws =
nullptr);
564 virtual const CResult Save(
const wchar_t* pWcsFileName =
nullptr,
bool bOnlyCurrentPage =
false,
bool bCompression =
false, int32_t i32CompressionLevel = 1,
CFLImageFileWorkStatus* pIfws =
nullptr)
const;
616 virtual const CResult SavePage(
const wchar_t* pWcsFileName, int32_t i32PageIndexStart, int32_t i32PageIndexEnd,
bool bCompression =
false, int32_t i32CompressionLevel = 1,
CFLImageFileWorkStatus* pIfws =
nullptr)
const;
696 virtual const CResult Assign(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
719 virtual const CResult Assign(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
886 virtual const CResult AssignPage(
const CFLImage& fliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
909 virtual const CResult AssignPage(
const CFLImage* pFliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
932 virtual const CResult AssignPages(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
955 virtual const CResult AssignPages(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1018 virtual const CResult PushBackPage(
const CFLImage& fliSourceImage, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1039 virtual const CResult PushBackPage(
const CFLImage* pFliSourceImage, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1062 virtual const CResult PushBackPages(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1085 virtual const CResult PushBackPages(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1192 virtual const CResult PushFrontPages(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1215 virtual const CResult PushFrontPages(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1280 virtual const CResult InsertPage(
const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1303 virtual const CResult InsertPage(
const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1328 virtual const CResult InsertPages(
const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1353 virtual const CResult InsertPages(
const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1990 template <
typename T>
2014 template <
typename T>
2015 const CResult GetPixel(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2)
const;
2034 template <
typename T>
2051 template <
typename T>
2071 template <
typename T>
2072 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2)
const;
2087 template <
typename T>
2108 template <
typename T>
2132 template <
typename T>
2133 const CResult GetSubPixel(
float f32Column,
float f32Row, T& tSubPixel0, T& tSubPixel1, T& tSubPixel2)
const;
2192 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarUL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2221 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarLL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2250 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarULL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2279 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarF flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2308 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarD flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2338 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const uint8_t* pU8Buffer,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2370 virtual const CResult SetBuffer(
const uint8_t* pU8Buffer, int64_t i64Width, int64_t i64Height,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4,
bool bAutoDestroy =
false,
bool bClear =
true, int64_t i64WidthStepByte = 0)
sealed;
2653 virtual int32_t
SetFigureAt(int32_t i32Index,
const wchar_t* pWcsFigure);
2735 virtual bool IsPageSpecEqual(
const CFLImage* pFliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1)
const;
2752 virtual bool IsPageSpecEqual(
const CFLImage& fliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1)
const;
2808 DeclareGetClassType();
2815 virtual const CResult CreateOffsetTable();
2816 virtual void Init();
2817 virtual void FreeBuffers();
2819 int32_t m_i32SelectedPageIndex;
2820 std::vector<CFLImagePage*>* m_pVctPages;
2825 const uint64_t m_i64Magic;
Template type array class.
Definition RangeTree.h:19
Top-level base class of FLImaging.
Definition FLBase.h:36
Image file work status class.
Definition FLImageFileWorkStatus.h:27
FLIMaging's image class.
Definition FLImage.h:35
virtual const CResult ClearFileNameWithPath()
Clear the file name with path.
CFLImage(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the specified page range from another image object to the current object.
virtual const CResult SetPageName(const wchar_t arrWcsPageName[256])
Set page name.
virtual const CResult PushFrontPage(const CFLImage *pFliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the specified page of the original image entered into the first page of its own.
virtual const CResult Create(int64_t i64Width, int64_t i64Height, const CMultiVarF flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0) sealed
Create an image on the currently selected page.
virtual const CResult AssignPages(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the pages corresponding to the specified list of page indices from another image object.
virtual const CResult AddExtraData(const CFLImageExtraDataBase &extData)
Add extra data.
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarUL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
Constructor.
virtual int32_t GetDepth() const
Get image depth of currently selected page.
virtual const CResult Save(const wchar_t *pWcsFileName=nullptr, bool bOnlyCurrentPage=false, bool bCompression=false, int32_t i32CompressionLevel=1, CFLImageFileWorkStatus *pIfws=nullptr) const
Save image file.
virtual const CResult Load(const wchar_t *pWcsPath, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Load image file.
virtual const CResult DeleteExtraData(int32_t i32Index) const
Delete extra data.
virtual const CResult Create(int64_t i64Width, int64_t i64Height, const CMultiVarUL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0) sealed
Create an image on the currently selected page.
virtual int64_t CalculateWidthStep(int64_t i64Width, EPixelFormat ePixelFormat, int32_t i32AlignByte) const
Calculate actual width size in bytes based on input value.
virtual bool IsSpecEqual(const CFLImage &fliTargetImage) const
A function that checks that the specifications are the same, including all pages included in the imag...
virtual const CResult SwapPage(CFLImage &fliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1)
Swap the specified page with each page of itself or another image object.
virtual const wchar_t * GetFigure(int32_t i32Index) const
Get a figure corresponding to a specific index.
virtual int32_t GetSelectedPageIndex() const
Get selected page index.
CFLImage(const CFLImage *pFli)
Copy constructor by pointer.
virtual const CResult SetPixelFormat(EPixelFormat ePixelFormat)
Set the image pixel format of the currently selected page. Since it only changes the setting,...
virtual EValueType GetValueType() const
Get the image value form of the currently selected page.
const CResult GetSubPixel(float f32Column, float f32Row, T &tSubPixel) const
Retrieves the sub-pixel value. 1 channel only. Calculates in single precision floating point.
virtual const CResult ClearFigures(int32_t i32PageNumber=-1)
Clear all Figures within the specified page.
virtual const CResult InsertPages(const CFLImage &fliSourceImage, int32_t i32PageIndexToInsert=-1, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert range-specified pages of the input original image at its own designated index.
const CResult GetPixel(int64_t i64Column, int64_t i64Row, T &tPixel0, T &tPixel1, T &tPixel2) const
Get the pixel value. 3 channels only.
void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T &tPixel0, T &tPixel1, T &tPixel2) const
Get the pixel value. 3 channels only. It's fast, but the program can crash if you set the coordinates...
virtual const CResult InsertPage(const CFLImage &fliSourceImage, int32_t i32PageIndexToInsert=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the specified page of the input original image into its own specified page.
virtual int32_t CalculatePixelSizeBit(EPixelFormat eFormat) const
Calculate pixel size in bits based on input values.
virtual const CResult Assign(const CFLImagePage *pFlipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Assign CFLImagePage object as current object.
virtual const CResult AssignPages(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the specified page range from another image object to the current object.
virtual int32_t SetFigureAt(int32_t i32Index, const wchar_t *pWcsFigure)
Replace the figure for a specific index.
virtual const CResult SwapPage(CFLImage *pFliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1)
Swap the specified page with each page of itself or another image object.
virtual const CResult Create(int64_t i64Width, int64_t i64Height, const uint8_t *pU8Buffer, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0) sealed
Create an image on the currently selected page.
virtual const int64_t GetSeparatedChannelStepByte() const
Get image separated channel step byte of currently selected page.
virtual const CResult PushBackPage(const CFLImage *pFliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the specified page of the original image entered into the last page of its own.
virtual CFLImageExtraDataBase * GetExtraData(int32_t i32Index=0) const
Get extra data.
const CResult GetPixel(int64_t i64Column, int64_t i64Row, T &tPixel) const
Get the pixel value. 1 channel only.
virtual const CResult PushBackPage(const CFLImage &fliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the specified page of the original image entered into the last page of its own.
virtual const CResult RemovePage(int32_t i32PageIndex=-1)
Delete the specified page.
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarF flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
Constructor.
virtual int32_t GetChannels() const
Get image channels of currently selected page.
virtual int32_t SelectPage(int32_t i32PageIndex) const
Select page.
virtual int32_t CalculatePixelSizeByte(EPixelFormat eFormat) const
Calculate pixel size in bytes based on input values.
virtual const CResult Create(int64_t i64Width, int64_t i64Height, const CMultiVarULL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0) sealed
Create an image on the currently selected page.
virtual const CResult InsertPages(const CFLImage *pFliSourceImage, int32_t i32PageIndexToInsert, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the page corresponding to the specified page index list of the original image entered at its o...
virtual const CResult AssignPage(const CFLImage &fliSourceImage, int32_t i32OwnPageIndex=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Assign the specified pages of the original to their own specified pages.
static EPixelFormat MakePixelFormat(int32_t i32Channel=1, int32_t i32Depth=8, EValueType eType=EValueType_Unsigned, bool bSeparatedChannels=false)
Create EPixelFormat variable based on input value.
virtual const CResult LoadInsert(const wchar_t *pWcsPath, int32_t i32PageIndex=-1, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Load the image file to the desired page index.
const CResult GetSubPixel(float f32Column, float f32Row, T &tSubPixel0, T &tSubPixel1, T &tSubPixel2) const
Retrieves the sub-pixel value. 3 channels only. Calculates in single precision floating point.
static bool IsImageObjectAlive(CFLImage *pFliImage)
Check if object of CFLImage is alive.
virtual bool IsColor() const
Whether the image of the currently selected page is a color image.
virtual const CResult SavePage(const wchar_t *pWcsFileName, int32_t i32PageIndex=-1, bool bCompression=false, int32_t i32CompressionLevel=1, CFLImageFileWorkStatus *pIfws=nullptr) const
Save the image of the desired page as a file.
virtual const CFLImagePage * GetSelectedPage() const
Get an instance of the currently selected page.
virtual const CResult Create(int64_t i64Width, int64_t i64Height, const CMultiVarL flmvFillValue=CMultiVarL(), EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0) sealed
Create an image on the currently selected page.
virtual const CResult PushBackPages(const CFLImage &fliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the pages specified in the range of the original image entered on the last page of its own.
virtual int32_t InsertFigureAt(int32_t i32Index, const wchar_t *pWcsFigure)
Insert figure into image object.
virtual int32_t GetExtraDataCount() const
Get extra data count.
virtual int32_t PushBackFigure(const wchar_t *pWcsFigure)
Insert figure into image object.
virtual const CResult InsertPages(const CFLImage &fliSourceImage, int32_t i32PageIndexToInsert, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the page corresponding to the specified page index list of the original image entered at its o...
virtual bool IsAutoDestroyBuffer() const
Whether the current page is in auto delete mode.
virtual int64_t GetWidth() const
Get image width of currently selected page.
virtual const CResult Load(const CFLArray< CFLString< wchar_t > > &flaPathList, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Load image files included in the list.
virtual int64_t GetHeight() const
Get image height of currently selected page.
virtual const CResult SetFileNameWithPath(const wchar_t *pWcsFileNameWithPath)
Set the file name with path.
virtual const CResult ClearPage(int32_t i32PageIndex=-1)
Clear the image information of the currently selected page.
virtual const CResult Swap(CFLImage &fliImage)
Swap the current object with another image object.
virtual const CResult Create(int64_t i64Width, int64_t i64Height, const CMultiVarD flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0) sealed
Create an image on the currently selected page.
virtual int32_t GetPageCount() const
Get the number of pages.
virtual bool IsFloatingPoint() const
Whether the image pixels of the currently selected page are floating point.
const CFLImage & operator=(const CFLImage &fli)
Assignment operator.
CFLImage(const CFLImage *pFli, bool bDeepCopy, bool bDeepCopyFigure=true)
Copy constructor by pointer.
virtual bool IsChannelSeparated() const
Whether the image channels of the currently selected page are separated by channel.
virtual int32_t GetAlignByte() const
Get image align byte of currently selected page.
virtual void ClearExtraData()
Clear extra data.
virtual const CResult SavePageRaw(const wchar_t *pWcsPath, int32_t i32PageIndex=-1, CFLImageFileWorkStatus *pIfws=nullptr)
Save raw image file.
virtual const CResult Assign(const CFLImagePage &flipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Assign CFLImagePage object as current object.
virtual const CResult Clear()
Clear all pages.
virtual const CResult Create(int64_t i64Width, int64_t i64Height, const CMultiVarLL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0) sealed
Create an image on the currently selected page.
virtual const CResult PushBackPages(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the page corresponding to the specified page index list of the original image entered in the l...
void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, CFLArray< T > &flaPixel) const
Get the pixel value. All channels available. It's fast, but the program can crash if you set the coor...
const CResult GetPixel(int64_t i64Column, int64_t i64Row, CFLArray< T > &flaPixel) const
Get the pixel value. all channels available.
virtual const CResult LoadBack(const wchar_t *pWcsPath, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Insert image file into last page.
virtual uint8_t * GetBuffer() const
Get the image buffer pointer of the currently selected page.
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarL flmvFillValue=CMultiVarL(), EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
Constructor.
CFLImage(const CFLImage &fli, bool bDeepCopy, bool bDeepCopyFigure=true)
Copy constructor by reference.
virtual const CResult Assign(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the pages corresponding to the specified list of page indices from another image object.
virtual const CResult SetBuffer(const uint8_t *pU8Buffer, int64_t i64Width, int64_t i64Height, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, bool bAutoDestroy=false, bool bClear=true, int64_t i64WidthStepByte=0) sealed
Set the image buffer directly to the currently selected page.
CFLImage(const CFLImagePage &flipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Constructor.
virtual const wchar_t * GetFileName() const
When an image file is loaded, the name of the loaded file is obtained.
virtual const CResult Assign(const CFLImage &fliSourceImage, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copy another image object into the current one.
virtual const CResult PushBackPages(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the page corresponding to the specified page index list of the original image entered in the l...
virtual const CResult Assign(const CFLImage &fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the specified page range from another image object to the current object.
virtual const CResult PushFrontPages(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the page corresponding to the specified page index list of the original image entered in the f...
virtual const CResult MovePageAt(int32_t i32TargetPageIndex, int32_t i32SourcePageIndex=-1)
Move the specified page to another index.
virtual int32_t GetPixelSizeBit() const
Get image pixel size bit of currently selected page.
virtual bool IsSpecEqual(const CFLImage *pFliTargetImage) const
A function that checks that the specifications are the same, including all pages included in the imag...
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarD flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
Constructor.
void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T &tPixel) const
Get the pixel value. 1 channel only. It's fast, but the program can crash if you set the coordinates ...
virtual int64_t GetWidthStepByte() const
Get image width step byte of currently selected page.
virtual const wchar_t * GetFileNameWithPath() const
When an image file is loaded, the file name including the loaded path is obtained.
virtual void SetAutoDestroyBuffer(bool bAutoDestroyBuffer)
Whether to manually delete the current page's image buffer when the page is removed.
virtual const CResult InsertPage(const CFLImage *pFliSourceImage, int32_t i32PageIndexToInsert=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the specified page of the input original image into its own specified page.
virtual EPixelFormat GetPixelFormat() const
Get the image pixel format of the currently selected page.
virtual const CResult PushBackPages(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the pages specified in the range of the original image entered on the last page of its own.
virtual int64_t GetImageSizeByte() const
Get the image size of the currently selected page.
virtual const CFLImagePage * GetPage(int32_t i32Index=-1) const
Get an instance of the specified page.
virtual int32_t GetPixelSizeByte() const
Get image pixel size byte of currently selected page.
virtual const CFLArray< wchar_t * > * GetFigures() const
Get the figures contained in the image object.
CFLImage()
Default constructor.
virtual const CResult PushFrontPages(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the pages specified in the range of the original image entered on the first page of its own.
virtual const CResult LoadFront(const wchar_t *pWcsPath, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Insert image file into front page.
virtual const CResult ResizePage(int32_t i32Resize)
Resize the number of pages by the specified size.
virtual CFLImageExtraDataBase * GetExtraData(EImageExtraDataType eDataType, int32_t i32Index=0) const
Get extra data.
virtual const CResult AssignPages(const CFLImage &fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the specified page range from another image object to the current object.
virtual const CResult Assign(const CFLImage *pFliSourceImage, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copy another image object into the current one.
virtual int32_t GetVersion() const
Returns the version of the CFLImage object. If you open a flif file, the version of that file is retu...
virtual int32_t MoveToPreviousPage() const
Move to previous page.
virtual const CResult Assign(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the specified page range from another image object to the current object.
virtual const CResult Swap(CFLImage *pFliImage)
Swap the current object with another image object.
virtual const CResult AssignPage(const CFLImage *pFliSourceImage, int32_t i32OwnPageIndex=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Assign the specified pages of the original to their own specified pages.
virtual wchar_t * GetPageName() const
Get page name.
CFLImage(const CFLImage &fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the specified page range from another image object to the current object.
CFLImage(int64_t i64Width, int64_t i64Height, const uint8_t *pU8Buffer, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
Constructor.
CFLImage(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the pages corresponding to the specified list of page indices from another image object.
virtual int32_t CalculatePixelSizeByte(int32_t i32Channels=0, int32_t i32Depth=0) const
Calculate pixel size in bytes based on input values.
virtual ~CFLImage()
Destructor.
virtual uint8_t ** GetYOffsetTable() const
Obtain a pointer to the previously calculated Y Offset.
virtual const CResult ClearFiguresAllPages()
Clear all Figures from all pages.
virtual const CResult SavePage(const wchar_t *pWcsFileName, int32_t i32PageIndexStart, int32_t i32PageIndexEnd, bool bCompression=false, int32_t i32CompressionLevel=1, CFLImageFileWorkStatus *pIfws=nullptr) const
Save an image of the desired range of pages to a file. If you save from page 0 to page 7,...
virtual const CResult PushFrontPages(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the page corresponding to the specified page index list of the original image entered in the f...
virtual int64_t * GetXOffsetTable() const
Obtain a pointer to the pre-calculated X Offset.
virtual bool IsPageSpecEqual(const CFLImage &fliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1) const
It returns the specifications of a specific page or the current page within the image object within t...
CFLImage(const CFLImagePage *pFlipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Constructor.
virtual const CResult GetXOffsetTable(int64_t *&pI64XOffset) const
Obtain a pointer to the pre-calculated X Offset.
CFLImage(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the pages corresponding to the specified list of page indices from another image object.
virtual bool IsSigned() const
Whether the image pixels of the currently selected page are uncoded.
virtual const CResult DeleteFigureAt(int32_t i32Index)
Delete the figure corresponding to a specific index from the image object.
virtual bool IsPageSpecEqual(const CFLImage *pFliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1) const
It returns the specifications of a specific page or the current page within the image object within t...
virtual int32_t GetFigureCount() const
Returns the number of figures in an image object.
CFLImage(const CFLImage &fli)
Copy constructor by reference.
virtual const CResult AddExtraData(CFLImageExtraDataBase *pExtData)
Add extra data.
virtual const CResult PushFrontPages(const CFLImage &fliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the pages specified in the range of the original image entered on the first page of its own.
virtual bool IsPageSpecEqual(const CFLImagePage *pFlipTargetPage, int32_t i32OwnPageIndex=-1) const
In the image object, it returns the specifications of a specific page or the current page and the tar...
virtual int32_t CalculatePixelSizeBit(int32_t i32Channels=0, int32_t i32Depth=0) const
Calculate pixel size in bits based on input values.
virtual bool IsPageSpecEqual(const CFLImagePage &flipTargetPage, int32_t i32OwnPageIndex=-1) const
In the image object, it returns the specifications of a specific page or the current page and the tar...
virtual const CResult InsertPages(const CFLImage *pFliSourceImage, int32_t i32PageIndexToInsert=-1, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert range-specified pages of the input original image at its own designated index.
virtual const CResult Assign(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the pages corresponding to the specified list of page indices from another image object.
virtual const CResult RemovePages(Base::CFLArray< int32_t > &flaPageIndices)
Delete the specified pages.
virtual int32_t CreatePage(int32_t i32InsertIndex=-1)
Create new page.
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarULL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
Constructor.
virtual int32_t MoveToNextPage() const
Move to next page.
virtual const CResult AssignPages(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Copies the pages corresponding to the specified list of page indices from another image object.
virtual const CResult GetYOffsetTable(uint8_t **&ppU8YOffset) const
Obtain a pointer to the previously calculated Y Offset.
virtual const CResult LoadRaw(const wchar_t *pWcsPath, int64_t i64Width, int64_t i64Height, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64OffsetByteFromBegin=0, int64_t i64OffsetByteFromEnd=0, CFLImageFileWorkStatus *pIfws=nullptr)
Loads a raw image file.
virtual const CResult PushFrontPage(const CFLImage &fliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
Insert the specified page of the original image entered into the first page of its own.
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarLL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
Constructor.
CFLImage's page class.
Definition FLImagePage.h:37
Template type string class.
Definition INIUtilities.h:20
Multi variable class.
Definition MultiVar.h:31
FLImaging module execution result object.
Definition ResultsDef.h:1514
EPixelFormat
Pixel format.
Definition DefinitionsBase.h:88
EValueType
Value type.
Definition DefinitionsBase.h:50
EImageExtraDataType
Image extra data type.
Definition DefinitionsBase.h:2941