FLImaging 6.10.23.2
FLImage.h
1#pragma once
2
10
11#include <string>
12
13#include "FLImagePage.h"
14#include "MultiVar.h"
15
16#include <list>
17
18
20namespace FLImaging
21{
23 namespace Base
24 {
26
34 class FL_EXPORT CFLImage : public CFLBase
35 {
36 public:
37
38 SupportToDuplicateObject(CFLImage,*this);
39
40 public:
49
59 CFLImage(const CFLImage& fli);
60
70 CFLImage(const CFLImage* pFli);
71
85 explicit CFLImage(const CFLImage& fli, bool bDeepCopy, bool bDeepCopyFigure = true);
86
100 explicit CFLImage(const CFLImage* pFli, bool bDeepCopy, bool bDeepCopyFigure = true);
101
119 explicit CFLImage(const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
120
138 explicit CFLImage(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
139
155 explicit CFLImage(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
156
172 explicit CFLImage(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
173
189 explicit CFLImage(const CFLImagePage& flipSrc, bool bDeepCopy = true, bool bDeepCopyFigure = true);
190
206 explicit CFLImage(const CFLImagePage* pFlipSrc, bool bDeepCopy = true, bool bDeepCopyFigure = true);
207
231 CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarL flmvFillValue = CMultiVarL(), EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
232
256 CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarUL flmvFillValue, EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
257
281 CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarLL flmvFillValue, EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
282
306 CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarULL flmvFillValue, EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
307
331 CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarF flmvFillValue, EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
332
356 CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarD flmvFillValue, EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
357
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);
382
394 const CFLImage& operator=(const CFLImage& fli);
395
403 virtual ~CFLImage();
404
424 virtual const CResult Load(const wchar_t* pWcsPath, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
425
445 virtual const CResult Load(const CFLArray<CFLString<wchar_t> >& flaPathList, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
446
468 virtual const CResult LoadInsert(const wchar_t* pWcsPath, int32_t i32PageIndex = -1, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
469
491 virtual const CResult LoadInsert(const CFLArray<CFLString<wchar_t> >& flaPathList, int32_t i32PageIndex = -1, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
492
512 virtual const CResult LoadBack(const wchar_t* pWcsPath, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
513
533 virtual const CResult LoadBack(const CFLArray<CFLString<wchar_t> >& flaPathList, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
534
554 virtual const CResult LoadFront(const wchar_t* pWcsPath, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
555
575 virtual const CResult LoadFront(const CFLArray<CFLString<wchar_t> >& flaPathList, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
576
606 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);
607
629 virtual const CResult Save(const wchar_t* pWcsFileName = nullptr, bool bOnlyCurrentPage = false, bool bCompression = false, int32_t i32CompressionLevel = 1, CFLImageFileWorkStatus* pIfws = nullptr) const;
630
652 virtual const CResult SavePage(const wchar_t* pWcsFileName, int32_t i32PageIndex = -1, bool bCompression = false, int32_t i32CompressionLevel = 1, CFLImageFileWorkStatus* pIfws = nullptr) const;
653
681 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;
682
700 virtual const CResult SavePageRaw(const wchar_t* pWcsPath, int32_t i32PageIndex = -1, CFLImageFileWorkStatus* pIfws = nullptr);
701
719 virtual const CResult Assign(const CFLImage& fliSourceImage, bool bDeepCopy = true, bool bDeepCopyFigure = true);
720
738 virtual const CResult Assign(const CFLImage* pFliSourceImage, bool bDeepCopy = true, bool bDeepCopyFigure = true);
739
761 virtual const CResult Assign(const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
762
784 virtual const CResult Assign(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
785
805 virtual const CResult Assign(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
806
826 virtual const CResult Assign(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
827
847 virtual const CResult Assign(const CFLImagePage& flipSrc, bool bDeepCopy = true, bool bDeepCopyFigure = true);
848
868 virtual const CResult Assign(const CFLImagePage* pFlipSrc, bool bDeepCopy = true, bool bDeepCopyFigure = true);
869
883 virtual const CResult Swap(CFLImage& fliImage);
884
898 virtual const CResult Swap(CFLImage* pFliImage);
899
901 // Page Only Functions
902
914 virtual const CResult Clear();
915
927 virtual int32_t CreatePage(int32_t i32InsertIndex = -1);
928
929
951 virtual const CResult AssignPage(const CFLImage& fliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
952
974 virtual const CResult AssignPage(const CFLImage* pFliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
975
997 virtual const CResult AssignPages(const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
998
1020 virtual const CResult AssignPages(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1021
1041 virtual const CResult AssignPages(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1042
1062 virtual const CResult AssignPages(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1063
1083 virtual const CResult PushBackPage(const CFLImage& fliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1084
1104 virtual const CResult PushBackPage(const CFLImage* pFliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1105
1127 virtual const CResult PushBackPages(const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1128
1150 virtual const CResult PushBackPages(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1151
1171 virtual const CResult PushBackPages(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1172
1192 virtual const CResult PushBackPages(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1193
1213 virtual const CResult PushFrontPage(const CFLImage& fliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1214
1234 virtual const CResult PushFrontPage(const CFLImage* pFliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1235
1257 virtual const CResult PushFrontPages(const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1258
1280 virtual const CResult PushFrontPages(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1281
1301 virtual const CResult PushFrontPages(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1302
1322 virtual const CResult PushFrontPages(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1323
1345 virtual const CResult InsertPage(const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1346
1368 virtual const CResult InsertPage(const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1369
1393 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);
1394
1418 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);
1419
1441 virtual const CResult InsertPages(const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1442
1464 virtual const CResult InsertPages(const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1465
1479 virtual const CResult ResizePage(int32_t i32Resize);
1480
1481
1495 virtual const CResult RemovePage(int32_t i32PageIndex = -1);
1496
1512 virtual const CResult RemovePages(Base::CFLArray<int32_t>& flaPageIndices);
1513
1529 virtual const CResult MovePageAt(int32_t i32TargetPageIndex, int32_t i32SourcePageIndex = -1);
1530
1548 virtual const CResult SwapPage(CFLImage& fliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1);
1549
1567 virtual const CResult SwapPage(CFLImage* pFliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1);
1568
1578 virtual int32_t GetPageCount() const;
1579
1589 virtual int32_t GetSelectedPageIndex() const;
1590
1602 virtual int32_t SelectPage(int32_t i32PageIndex) const;
1603
1613 virtual int32_t MoveToNextPage() const;
1614
1624 virtual int32_t MoveToPreviousPage() const;
1625
1635 virtual wchar_t* GetPageName() const;
1636
1650 virtual const CResult SetPageName(const wchar_t arrWcsPageName[256]);
1651
1665 virtual const CFLImagePage* GetPage(int32_t i32Index = -1) const;
1666
1678 virtual const CFLImagePage* GetSelectedPage() const;
1679
1681
1682
1684 // Following functions are only applied to own page
1685
1699 virtual const CResult ClearPage(int32_t i32PageIndex = -1);
1700
1710 virtual uint8_t* GetBuffer() const;
1711
1721 virtual int64_t GetImageSizeByte() const;
1722
1732 virtual int64_t GetWidth() const;
1733
1743 virtual int64_t GetHeight() const;
1744
1754 virtual int32_t GetChannels() const;
1755
1765 virtual int32_t GetDepth() const;
1766
1776 virtual int32_t GetAlignByte() const;
1777
1787 virtual int32_t GetPixelSizeBit() const;
1788
1798 virtual int32_t GetPixelSizeByte() const;
1799
1809 virtual int64_t GetWidthStepByte() const;
1810
1820 virtual const int64_t GetSeparatedChannelStepByte() const;
1821
1834
1848 virtual const CResult SetFileNameWithPath(const wchar_t* pWcsFileNameWithPath);
1849
1859 virtual const wchar_t* GetFileName() const;
1860
1870 virtual const wchar_t* GetFileNameWithPath() const;
1871
1881 virtual bool IsFloatingPoint() const;
1882
1892 virtual bool IsSigned() const;
1893
1903 virtual bool IsChannelSeparated() const;
1904
1914 virtual bool IsColor() const;
1915
1925 virtual void SetAutoDestroyBuffer(bool bAutoDestroyBuffer);
1926
1936 virtual bool IsAutoDestroyBuffer() const;
1937
1951 virtual const CResult AddExtraData(const CFLImageExtraDataBase& extData);
1952
1967
1981 virtual const CResult DeleteExtraData(int32_t i32Index) const;
1982
1996 virtual CFLImageExtraDataBase* GetExtraData(int32_t i32Index = 0) const;
1997
2015 virtual CFLImageExtraDataBase* GetExtraData(EImageExtraDataType eDataType, int32_t i32Index = 0) const;
2016
2024 virtual void ClearExtraData();
2025
2035 virtual int32_t GetExtraDataCount() const;
2036
2037
2055 template <typename T>
2056 const CResult GetPixel(int64_t i64Column, int64_t i64Row, T& tPixel) const;
2057
2079 template <typename T>
2080 const CResult GetPixel(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2) const;
2081
2099 template <typename T>
2100 const CResult GetPixel(int64_t i64Column, int64_t i64Row, CFLArray<T>& flaPixel) const;
2101
2102
2116 template <typename T>
2117 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T& tPixel) const;
2118
2136 template <typename T>
2137 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2) const;
2138
2152 template <typename T>
2153 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, CFLArray<T>& flaPixel) const;
2154
2155
2173 template <typename T>
2174 const CResult GetSubPixel(float f32Column, float f32Row, T& tSubPixel) const;
2175
2197 template <typename T>
2198 const CResult GetSubPixel(float f32Column, float f32Row, T& tSubPixel0, T& tSubPixel1, T& tSubPixel2) const;
2199
2200
2228 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;
2229
2257 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;
2258
2286 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;
2287
2315 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;
2316
2344 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;
2345
2373 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;
2374
2375
2403 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;
2404
2405
2435 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;
2436
2449
2467 virtual const CResult SetPixelFormat(EPixelFormat ePixelFormat);
2468
2469
2491 static EPixelFormat MakePixelFormat(int32_t i32Channel = 1, int32_t i32Depth = 8, EValueType eType = EValueType_Unsigned, bool bSeparatedChannels = false);
2492
2504 virtual EValueType GetValueType() const;
2505
2506
2520 virtual int32_t CalculatePixelSizeBit(int32_t i32Channels = 0, int32_t i32Depth = 0) const;
2521
2535 virtual int32_t CalculatePixelSizeByte(int32_t i32Channels = 0, int32_t i32Depth = 0) const;
2536
2550 virtual int32_t CalculatePixelSizeBit(EPixelFormat eFormat) const;
2551
2565 virtual int32_t CalculatePixelSizeByte(EPixelFormat eFormat) const;
2566
2582 virtual int64_t CalculateWidthStep(int64_t i64Width, EPixelFormat ePixelFormat, int32_t i32AlignByte) const;
2583
2597 virtual const CResult GetXOffsetTable(int64_t*& pI64XOffset) const;
2598
2612 virtual const CResult GetYOffsetTable(uint8_t**& ppU8YOffset) const;
2613
2623 virtual int64_t* GetXOffsetTable() const;
2624
2634 virtual uint8_t** GetYOffsetTable() const;
2635
2636
2637
2647 virtual int32_t GetFigureCount() const;
2648
2660 virtual const wchar_t* GetFigure(int32_t i32Index) const;
2661
2673 virtual int32_t PushBackFigure(const wchar_t* pWcsFigure);
2674
2688 virtual const CResult DeleteFigureAt(int32_t i32Index);
2689
2703 virtual int32_t InsertFigureAt(int32_t i32Index, const wchar_t* pWcsFigure);
2704
2718 virtual int32_t SetFigureAt(int32_t i32Index, const wchar_t* pWcsFigure);
2719
2733 virtual const CResult ClearFigures(int32_t i32PageNumber = -1);
2734
2747
2757 virtual const CFLArray<wchar_t*>* GetFigures() const;
2758
2770 virtual bool IsSpecEqual(const CFLImage* pFliTargetImage) const;
2771
2783 virtual bool IsSpecEqual(const CFLImage& fliTargetImage) const;
2784
2800 virtual bool IsPageSpecEqual(const CFLImage* pFliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1) const;
2801
2817 virtual bool IsPageSpecEqual(const CFLImage& fliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1) const;
2818
2832 virtual bool IsPageSpecEqual(const CFLImagePage* pFlipTargetPage, int32_t i32OwnPageIndex = -1) const;
2833
2847 virtual bool IsPageSpecEqual(const CFLImagePage& flipTargetPage, int32_t i32OwnPageIndex = -1) const;
2848
2860 static bool IsImageObjectAlive(CFLImage* pFliImage);
2861
2871 virtual int32_t GetVersion() const;
2872
2873 DeclareGetClassType();
2874
2875
2877
2878
2879 protected:
2880 virtual const CResult CreateOffsetTable();
2881 virtual void Init();
2882 virtual void FreeBuffers();
2883
2884 int32_t m_i32SelectedPageIndex;
2885 std::vector<CFLImagePage*>* m_pVctPages;
2886
2887 CFLImagePage* m_pFlipSelectedPage;
2888
2889 private:
2890 const uint64_t m_i64Magic;
2891 };
2892 }
2893}
2894
Template type array class.
Definition FLArray.h:53
CFLBase()
Default constructor.
Image extra data basic class.
Definition FLImageExtraDataBase.h:27
Image file work status class.
Definition FLImageFileWorkStatus.h:27
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 LoadFront(const CFLArray< CFLString< wchar_t > > &flaPathList, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Insert image files included in the list into front page.
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.
virtual const CResult LoadBack(const CFLArray< CFLString< wchar_t > > &flaPathList, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Insert image files included in the list into last 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 LoadInsert(const CFLArray< CFLString< wchar_t > > &flaPathList, int32_t i32PageIndex=-1, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
Load image files included in the list to the desired page index.
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 FLString.h:34
FLImaging module execution result object.
Definition ResultsDef.h:1631
Definition AESCryptography.h:18
EPixelFormat
Pixel format.
Definition DefinitionsBase.h:88
@ EPixelFormat_C1_U8
Definition DefinitionsBase.h:125
EValueType
Value type.
Definition DefinitionsBase.h:50
@ EValueType_Unsigned
Unsigned.
Definition DefinitionsBase.h:58
EImageExtraDataType
Image extra data type.
Definition DefinitionsBase.h:3091