FLImaging 6.5.8.1
FLImage.h
1#pragma once
2
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 {
25 class CFLImageFileWorkStatus;
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
489 virtual const CResult LoadBack(const wchar_t* pWcsPath, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
490
510 virtual const CResult LoadFront(const wchar_t* pWcsPath, bool bRecursiveIfDirectory = true, CFLImageFileWorkStatus* pIfws = nullptr, bool bFlifCodecWithoutBuffer = true);
511
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);
542
564 virtual const CResult Save(const wchar_t* pWcsFileName = nullptr, bool bOnlyCurrentPage = false, bool bCompression = false, int32_t i32CompressionLevel = 1, CFLImageFileWorkStatus* pIfws = nullptr) const;
565
587 virtual const CResult SavePage(const wchar_t* pWcsFileName, int32_t i32PageIndex = -1, bool bCompression = false, int32_t i32CompressionLevel = 1, CFLImageFileWorkStatus* pIfws = nullptr) const;
588
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;
617
635 virtual const CResult SavePageRaw(const wchar_t* pWcsPath, int32_t i32PageIndex = -1, CFLImageFileWorkStatus* pIfws = nullptr);
636
654 virtual const CResult Assign(const CFLImage& fliSourceImage, bool bDeepCopy = true, bool bDeepCopyFigure = true);
655
673 virtual const CResult Assign(const CFLImage* pFliSourceImage, bool bDeepCopy = true, bool bDeepCopyFigure = true);
674
696 virtual const CResult Assign(const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
697
719 virtual const CResult Assign(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
720
740 virtual const CResult Assign(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
741
761 virtual const CResult Assign(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
762
782 virtual const CResult Assign(const CFLImagePage& flipSrc, bool bDeepCopy = true, bool bDeepCopyFigure = true);
783
803 virtual const CResult Assign(const CFLImagePage* pFlipSrc, bool bDeepCopy = true, bool bDeepCopyFigure = true);
804
818 virtual const CResult Swap(CFLImage& fliImage);
819
833 virtual const CResult Swap(CFLImage* pFliImage);
834
836 // Page Only Functions
837
849 virtual const CResult Clear();
850
862 virtual int32_t CreatePage(int32_t i32InsertIndex = -1);
863
864
886 virtual const CResult AssignPage(const CFLImage& fliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
887
909 virtual const CResult AssignPage(const CFLImage* pFliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
910
932 virtual const CResult AssignPages(const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
933
955 virtual const CResult AssignPages(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
956
976 virtual const CResult AssignPages(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
977
997 virtual const CResult AssignPages(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
998
1018 virtual const CResult PushBackPage(const CFLImage& fliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1019
1039 virtual const CResult PushBackPage(const CFLImage* pFliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1040
1062 virtual const CResult PushBackPages(const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1063
1085 virtual const CResult PushBackPages(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1086
1106 virtual const CResult PushBackPages(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1107
1127 virtual const CResult PushBackPages(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1128
1148 virtual const CResult PushFrontPage(const CFLImage& fliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1149
1169 virtual const CResult PushFrontPage(const CFLImage* pFliSourceImage, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1170
1192 virtual const CResult PushFrontPages(const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1193
1215 virtual const CResult PushFrontPages(const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1216
1236 virtual const CResult PushFrontPages(const CFLImage& fliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1237
1257 virtual const CResult PushFrontPages(const CFLImage* pFliSourceImage, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1258
1280 virtual const CResult InsertPage(const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1281
1303 virtual const CResult InsertPage(const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1304
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);
1329
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);
1354
1376 virtual const CResult InsertPages(const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1377
1399 virtual const CResult InsertPages(const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert, const CFLArray<int32_t>& flaPageIndices, bool bDeepCopy = true, bool bDeepCopyFigure = true);
1400
1414 virtual const CResult ResizePage(int32_t i32Resize);
1415
1416
1430 virtual const CResult RemovePage(int32_t i32PageIndex = -1);
1431
1447 virtual const CResult RemovePages(Base::CFLArray<int32_t>& flaPageIndices);
1448
1464 virtual const CResult MovePageAt(int32_t i32TargetPageIndex, int32_t i32SourcePageIndex = -1);
1465
1483 virtual const CResult SwapPage(CFLImage& fliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1);
1484
1502 virtual const CResult SwapPage(CFLImage* pFliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1);
1503
1513 virtual int32_t GetPageCount() const;
1514
1524 virtual int32_t GetSelectedPageIndex() const;
1525
1537 virtual int32_t SelectPage(int32_t i32PageIndex) const;
1538
1548 virtual int32_t MoveToNextPage() const;
1549
1559 virtual int32_t MoveToPreviousPage() const;
1560
1570 virtual wchar_t* GetPageName() const;
1571
1585 virtual const CResult SetPageName(const wchar_t arrWcsPageName[256]);
1586
1600 virtual const CFLImagePage* GetPage(int32_t i32Index = -1) const;
1601
1613 virtual const CFLImagePage* GetSelectedPage() const;
1614
1616
1617
1619 // Following functions are only applied to own page
1620
1634 virtual const CResult ClearPage(int32_t i32PageIndex = -1);
1635
1645 virtual uint8_t* GetBuffer() const;
1646
1656 virtual int64_t GetImageSizeByte() const;
1657
1667 virtual int64_t GetWidth() const;
1668
1678 virtual int64_t GetHeight() const;
1679
1689 virtual int32_t GetChannels() const;
1690
1700 virtual int32_t GetDepth() const;
1701
1711 virtual int32_t GetAlignByte() const;
1712
1722 virtual int32_t GetPixelSizeBit() const;
1723
1733 virtual int32_t GetPixelSizeByte() const;
1734
1744 virtual int64_t GetWidthStepByte() const;
1745
1755 virtual const int64_t GetSeparatedChannelStepByte() const;
1756
1769
1783 virtual const CResult SetFileNameWithPath(const wchar_t* pWcsFileNameWithPath);
1784
1794 virtual const wchar_t* GetFileName() const;
1795
1805 virtual const wchar_t* GetFileNameWithPath() const;
1806
1816 virtual bool IsFloatingPoint() const;
1817
1827 virtual bool IsSigned() const;
1828
1838 virtual bool IsChannelSeparated() const;
1839
1849 virtual bool IsColor() const;
1850
1860 virtual void SetAutoDestroyBuffer(bool bAutoDestroyBuffer);
1861
1871 virtual bool IsAutoDestroyBuffer() const;
1872
1886 virtual const CResult AddExtraData(const CFLImageExtraDataBase& extData);
1887
1902
1916 virtual const CResult DeleteExtraData(int32_t i32Index) const;
1917
1931 virtual CFLImageExtraDataBase* GetExtraData(int32_t i32Index = 0) const;
1932
1950 virtual CFLImageExtraDataBase* GetExtraData(EImageExtraDataType eDataType, int32_t i32Index = 0) const;
1951
1959 virtual void ClearExtraData();
1960
1970 virtual int32_t GetExtraDataCount() const;
1971
1972
1990 template <typename T>
1991 const CResult GetPixel(int64_t i64Column, int64_t i64Row, T& tPixel) const;
1992
2014 template <typename T>
2015 const CResult GetPixel(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2) const;
2016
2034 template <typename T>
2035 const CResult GetPixel(int64_t i64Column, int64_t i64Row, CFLArray<T>& flaPixel) const;
2036
2037
2051 template <typename T>
2052 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T& tPixel) const;
2053
2071 template <typename T>
2072 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2) const;
2073
2087 template <typename T>
2088 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, CFLArray<T>& flaPixel) const;
2089
2090
2108 template <typename T>
2109 const CResult GetSubPixel(float f32Column, float f32Row, T& tSubPixel) const;
2110
2132 template <typename T>
2133 const CResult GetSubPixel(float f32Column, float f32Row, T& tSubPixel0, T& tSubPixel1, T& tSubPixel2) const;
2134
2135
2163 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;
2164
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;
2193
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;
2222
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;
2251
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;
2280
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;
2309
2310
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;
2339
2340
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;
2371
2384
2402 virtual const CResult SetPixelFormat(EPixelFormat ePixelFormat);
2403
2404
2426 static EPixelFormat MakePixelFormat(int32_t i32Channel = 1, int32_t i32Depth = 8, EValueType eType = EValueType_Unsigned, bool bSeparatedChannels = false);
2427
2439 virtual EValueType GetValueType() const;
2440
2441
2455 virtual int32_t CalculatePixelSizeBit(int32_t i32Channels = 0, int32_t i32Depth = 0) const;
2456
2470 virtual int32_t CalculatePixelSizeByte(int32_t i32Channels = 0, int32_t i32Depth = 0) const;
2471
2485 virtual int32_t CalculatePixelSizeBit(EPixelFormat eFormat) const;
2486
2500 virtual int32_t CalculatePixelSizeByte(EPixelFormat eFormat) const;
2501
2517 virtual int64_t CalculateWidthStep(int64_t i64Width, EPixelFormat ePixelFormat, int32_t i32AlignByte) const;
2518
2532 virtual const CResult GetXOffsetTable(int64_t*& pI64XOffset) const;
2533
2547 virtual const CResult GetYOffsetTable(uint8_t**& ppU8YOffset) const;
2548
2558 virtual int64_t* GetXOffsetTable() const;
2559
2569 virtual uint8_t** GetYOffsetTable() const;
2570
2571
2572
2582 virtual int32_t GetFigureCount() const;
2583
2595 virtual const wchar_t* GetFigure(int32_t i32Index) const;
2596
2608 virtual int32_t PushBackFigure(const wchar_t* pWcsFigure);
2609
2623 virtual const CResult DeleteFigureAt(int32_t i32Index);
2624
2638 virtual int32_t InsertFigureAt(int32_t i32Index, const wchar_t* pWcsFigure);
2639
2653 virtual int32_t SetFigureAt(int32_t i32Index, const wchar_t* pWcsFigure);
2654
2668 virtual const CResult ClearFigures(int32_t i32PageNumber = -1);
2669
2682
2692 virtual const CFLArray<wchar_t*>* GetFigures() const;
2693
2705 virtual bool IsSpecEqual(const CFLImage* pFliTargetImage) const;
2706
2718 virtual bool IsSpecEqual(const CFLImage& fliTargetImage) const;
2719
2735 virtual bool IsPageSpecEqual(const CFLImage* pFliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1) const;
2736
2752 virtual bool IsPageSpecEqual(const CFLImage& fliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1) const;
2753
2767 virtual bool IsPageSpecEqual(const CFLImagePage* pFlipTargetPage, int32_t i32OwnPageIndex = -1) const;
2768
2782 virtual bool IsPageSpecEqual(const CFLImagePage& flipTargetPage, int32_t i32OwnPageIndex = -1) const;
2783
2795 static bool IsImageObjectAlive(CFLImage* pFliImage);
2796
2806 virtual int32_t GetVersion() const;
2807
2808 DeclareGetClassType();
2809
2810
2812
2813
2814 protected:
2815 virtual const CResult CreateOffsetTable();
2816 virtual void Init();
2817 virtual void FreeBuffers();
2818
2819 int32_t m_i32SelectedPageIndex;
2820 std::vector<CFLImagePage*>* m_pVctPages;
2821
2822 CFLImagePage* m_pFlipSelectedPage;
2823
2824 private:
2825 const uint64_t m_i64Magic;
2826 };
2827 }
2828}
2829
Template type 의 배열 클래스.
Definition RangeTree.h:19
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
이미지 확장 데이터 기초 클래스
Definition FLImageExtraDataBase.h:27
이미지 파일 작업 상태 클래스
Definition FLImageFileWorkStatus.h:27
FLImaging의 이미지 클래스
Definition FLImage.h:35
virtual const CResult ClearFileNameWithPath()
경로를 포함한 파일명을 초기화함
CFLImage(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 범위 만큼 현재 객체로 복사.
virtual const CResult SetPageName(const wchar_t arrWcsPageName[256])
페이지 이름을 설정
virtual const CResult PushFrontPage(const CFLImage *pFliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 앞 페이지에 입력된 원본 이미지의 지정된 페이지를 삽입
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
현재 선택된 페이지에 이미지 생성
virtual const CResult AssignPages(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 인덱스 목록에 해당되는 페이지를 복사.
virtual const CResult AddExtraData(const CFLImageExtraDataBase &extData)
ExtraData를 추가
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarUL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
생성자
virtual int32_t GetDepth() const
현재 선택된 페이지의 이미지 픽셀 깊이를 얻음
virtual const CResult Save(const wchar_t *pWcsFileName=nullptr, bool bOnlyCurrentPage=false, bool bCompression=false, int32_t i32CompressionLevel=1, CFLImageFileWorkStatus *pIfws=nullptr) const
이미지 파일을 저장
virtual const CResult Load(const wchar_t *pWcsPath, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
이미지 파일을 로드
virtual const CResult DeleteExtraData(int32_t i32Index) const
ExtraData를 삭제
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
현재 선택된 페이지에 이미지 생성
virtual int64_t CalculateWidthStep(int64_t i64Width, EPixelFormat ePixelFormat, int32_t i32AlignByte) const
입력 값을 바탕으로 실제 폭 크기를 바이트 단위로 계산
virtual bool IsSpecEqual(const CFLImage &fliTargetImage) const
이미지 객체 내에 포함된 모든 페이지들을 포함해서 스펙이 동일한지 확인하는 함수. 단 하나의 페이지라도 스펙이 매칭되지 않으면 false를 반환합니다.
virtual const CResult SwapPage(CFLImage &fliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1)
지정된 페이지를 자신 혹은 다른 이미지 객체의 각각의 페이지와 교환
virtual const wchar_t * GetFigure(int32_t i32Index) const
특정 Index에 해당하는 Figure를 얻어옴
virtual int32_t GetSelectedPageIndex() const
선택된 페이지 인덱스를 얻음
CFLImage(const CFLImage *pFli)
복사 생성자 (포인터) 깊은 복사를 수행한다.
virtual const CResult SetPixelFormat(EPixelFormat ePixelFormat)
현재 선택된 페이지의 이미지 픽셀 포맷을 설정. 설정만 바꾸는 것이기 때문에 특별한 경우가 아니면 사용하지 않는것을 추천합니다.
virtual EValueType GetValueType() const
현재 선택된 페이지의 이미지 값 형태를 얻음
const CResult GetSubPixel(float f32Column, float f32Row, T &tSubPixel) const
서브 픽셀 값을 얻어온다. 1채널 전용. 단정도 부동소수점으로 계산한다.
virtual const CResult ClearFigures(int32_t i32PageNumber=-1)
지정된 페이지 내에 들어있는 모든 Figure 를 제거
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)
자신의 지정된 인덱스에 입력된 원본 이미지의 범위 지정된 페이지들을 삽입
const CResult GetPixel(int64_t i64Column, int64_t i64Row, T &tPixel0, T &tPixel1, T &tPixel2) const
픽셀 값을 얻어온다. 3채널 전용.
void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T &tPixel0, T &tPixel1, T &tPixel2) const
픽셀 값을 얻어온다. 3채널 전용. 속도가 빠르지만 좌표를 잘못 설정할 경우 프로그램이 충돌할 수 있다.
virtual const CResult InsertPage(const CFLImage &fliSourceImage, int32_t i32PageIndexToInsert=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 지정된 페이지에 입력된 원본 이미지의 지정된 페이지를 삽입
virtual int32_t CalculatePixelSizeBit(EPixelFormat eFormat) const
입력 값을 바탕으로 픽셀 크기를 비트 단위로 계산
virtual const CResult Assign(const CFLImagePage *pFlipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
CFLImagePage 객체를 현재 객체로 할당
virtual const CResult AssignPages(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 범위 만큼 현재 객체로 복사.
virtual int32_t SetFigureAt(int32_t i32Index, const wchar_t *pWcsFigure)
특정 인덱스의 Figure를 대체
virtual const CResult SwapPage(CFLImage *pFliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1)
지정된 페이지를 자신 혹은 다른 이미지 객체의 각각의 페이지와 교환
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
현재 선택된 페이지에 이미지 생성
virtual const int64_t GetSeparatedChannelStepByte() const
분할 채널 이미지의 채널간 간격을 바이트 단위로 얻는다
virtual const CResult PushBackPage(const CFLImage *pFliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 뒤 페이지에 입력된 원본 이미지의 지정된 페이지를 삽입
virtual CFLImageExtraDataBase * GetExtraData(int32_t i32Index=0) const
ExtraData를 얻음
const CResult GetPixel(int64_t i64Column, int64_t i64Row, T &tPixel) const
픽셀 값을 얻어온다. 1채널 전용.
virtual const CResult PushBackPage(const CFLImage &fliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 뒤 페이지에 입력된 원본 이미지의 지정된 페이지를 삽입
virtual const CResult RemovePage(int32_t i32PageIndex=-1)
지정된 페이지를 삭제
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarF flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
생성자
virtual int32_t GetChannels() const
현재 선택된 페이지의 이미지 채널을 얻음
virtual int32_t SelectPage(int32_t i32PageIndex) const
페이지를 선택
virtual int32_t CalculatePixelSizeByte(EPixelFormat eFormat) const
입력 값을 바탕으로 픽셀 크기를 바이트 단위로 계산
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
현재 선택된 페이지에 이미지 생성
virtual const CResult InsertPages(const CFLImage *pFliSourceImage, int32_t i32PageIndexToInsert, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 지정된 인덱스에 입력된 원본 이미지의 지정된 페이지 인덱스 목록에 해당되는 페이지를 삽입
virtual const CResult AssignPage(const CFLImage &fliSourceImage, int32_t i32OwnPageIndex=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 지정된 페이지에 원본의 지정된 페이지를 할당
static EPixelFormat MakePixelFormat(int32_t i32Channel=1, int32_t i32Depth=8, EValueType eType=EValueType_Unsigned, bool bSeparatedChannels=false)
입력 값을 바탕으로 EPixelFormat 변수 생성
virtual const CResult LoadInsert(const wchar_t *pWcsPath, int32_t i32PageIndex=-1, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
이미지 파일을 원하는 페이지 인덱스에 로드
const CResult GetSubPixel(float f32Column, float f32Row, T &tSubPixel0, T &tSubPixel1, T &tSubPixel2) const
서브 픽셀 값을 얻어온다. 3채널 전용. 단정도 부동소수점으로 계산한다.
static bool IsImageObjectAlive(CFLImage *pFliImage)
CFLImage의 객체가 살아있는 상태인지 확인
virtual bool IsColor() const
현재 선택된 페이지의 이미지가 컬러 이미지인지 여부
virtual const CResult SavePage(const wchar_t *pWcsFileName, int32_t i32PageIndex=-1, bool bCompression=false, int32_t i32CompressionLevel=1, CFLImageFileWorkStatus *pIfws=nullptr) const
원하는 페이지의 이미지를 파일로 저장
virtual const CFLImagePage * GetSelectedPage() const
현재 선택된 페이지의 인스턴스를 얻음
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
현재 선택된 페이지에 이미지 생성
virtual const CResult PushBackPages(const CFLImage &fliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 뒤 페이지에 입력된 원본 이미지의 범위 지정된 페이지들을 삽입
virtual int32_t InsertFigureAt(int32_t i32Index, const wchar_t *pWcsFigure)
Figure를 이미지 객체에 삽입
virtual int32_t GetExtraDataCount() const
ExtraData 개수 얻기
virtual int32_t PushBackFigure(const wchar_t *pWcsFigure)
Figure를 이미지 객체에 삽입
virtual const CResult InsertPages(const CFLImage &fliSourceImage, int32_t i32PageIndexToInsert, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 지정된 인덱스에 입력된 원본 이미지의 지정된 페이지 인덱스 목록에 해당되는 페이지를 삽입
virtual bool IsAutoDestroyBuffer() const
현재 페이지가 자동 삭제 모드인지 여부
virtual int64_t GetWidth() const
현재 선택된 페이지의 이미지 폭을 얻음
virtual const CResult Load(const CFLArray< CFLString< wchar_t > > &flaPathList, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
목록에 포함된 이미지 파일을 로드
virtual int64_t GetHeight() const
현재 선택된 페이지의 이미지 높이를 얻음
virtual const CResult SetFileNameWithPath(const wchar_t *pWcsFileNameWithPath)
경로를 포함한 파일명을 설정함
virtual const CResult ClearPage(int32_t i32PageIndex=-1)
현재 선택된 페이지의 이미지 정보를 초기화 시킴
virtual const CResult Swap(CFLImage &fliImage)
다른 이미지 객체와 현재 객체를 교체
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
현재 선택된 페이지에 이미지 생성
virtual int32_t GetPageCount() const
페이지의 개수를 얻음
virtual bool IsFloatingPoint() const
현재 선택된 페이지의 이미지 픽셀 부동소수점 여부
const CFLImage & operator=(const CFLImage &fli)
할당 연산자
CFLImage(const CFLImage *pFli, bool bDeepCopy, bool bDeepCopyFigure=true)
복사 생성자 (포인터)
virtual bool IsChannelSeparated() const
현재 선택된 페이지의 이미지 채널이 채널별로 분리되어 있는지 여부
virtual int32_t GetAlignByte() const
현재 선택된 페이지의 이미지 바이트 정렬 값을 얻음
virtual void ClearExtraData()
ExtraData를 제거
virtual const CResult SavePageRaw(const wchar_t *pWcsPath, int32_t i32PageIndex=-1, CFLImageFileWorkStatus *pIfws=nullptr)
Raw 이미지 파일을 저장
virtual const CResult Assign(const CFLImagePage &flipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
CFLImagePage객체를 현재 객체로 할당
virtual const CResult Clear()
모든 페이지를 제거
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
현재 선택된 페이지에 이미지 생성
virtual const CResult PushBackPages(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 뒤 페이지에 입력된 원본 이미지의 지정된 페이지 인덱스 목록에 해당되는 페이지를 삽입
void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, CFLArray< T > &flaPixel) const
픽셀 값을 얻어온다. 모든 채널 가능. 속도가 빠르지만 좌표를 잘못 설정할 경우 프로그램이 충돌할 수 있다.
const CResult GetPixel(int64_t i64Column, int64_t i64Row, CFLArray< T > &flaPixel) const
픽셀 값을 얻어온다. 모든 채널 가능
virtual const CResult LoadBack(const wchar_t *pWcsPath, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
이미지 파일을 맨 뒤 페이지에 삽입
virtual uint8_t * GetBuffer() const
현재 선택된 페이지의 이미지 버퍼 포인터를 얻음
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarL flmvFillValue=CMultiVarL(), EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
생성자
CFLImage(const CFLImage &fli, bool bDeepCopy, bool bDeepCopyFigure=true)
복사 생성자 (참조)
virtual const CResult Assign(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 인덱스 목록에 해당되는 페이지를 복사.
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
현재 선택된 페이지에 이미지 버퍼를 직접 설정
CFLImage(const CFLImagePage &flipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
생성자
virtual const wchar_t * GetFileName() const
이미지 파일을 로드했을 경우 로드한 파일명을 얻음
virtual const CResult Assign(const CFLImage &fliSourceImage, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체를 현재 객체로 복사
virtual const CResult PushBackPages(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 뒤 페이지에 입력된 원본 이미지의 지정된 페이지 인덱스 목록에 해당되는 페이지를 삽입
virtual const CResult Assign(const CFLImage &fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 범위 만큼 현재 객체로 복사.
virtual const CResult PushFrontPages(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 앞 페이지에 입력된 원본 이미지의 지정된 페이지 인덱스 목록에 해당되는 페이지를 삽입
virtual const CResult MovePageAt(int32_t i32TargetPageIndex, int32_t i32SourcePageIndex=-1)
지정된 페이지를 다른 인덱스로 이동
virtual int32_t GetPixelSizeBit() const
현재 선택된 페이지의 이미지 픽셀당 차지하는 비트 크기 값을 얻음
virtual bool IsSpecEqual(const CFLImage *pFliTargetImage) const
이미지 객체 내에 포함된 모든 페이지들을 포함해서 스펙이 동일한지 확인하는 함수. 단 하나의 페이지라도 스펙이 매칭되지 않으면 false를 반환합니다.
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarD flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
생성자
void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T &tPixel) const
픽셀 값을 얻어온다. 1채널 전용. 속도가 빠르지만 좌표를 잘못 설정할 경우 프로그램이 충돌할 수 있다.
virtual int64_t GetWidthStepByte() const
현재 선택된 페이지의 이미지 폭당 실제 크기를 얻음
virtual const wchar_t * GetFileNameWithPath() const
이미지 파일을 로드했을 경우 로드한 경로를 포함한 파일명을 얻음
virtual void SetAutoDestroyBuffer(bool bAutoDestroyBuffer)
현재 페이지의 이미지 버퍼를 페이지가 제거될 때 수동으로 삭제할 것인지 여부
virtual const CResult InsertPage(const CFLImage *pFliSourceImage, int32_t i32PageIndexToInsert=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 지정된 페이지에 입력된 원본 이미지의 지정된 페이지를 삽입
virtual EPixelFormat GetPixelFormat() const
현재 선택된 페이지의 이미지 픽셀 포맷을 얻음
virtual const CResult PushBackPages(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 뒤 페이지에 입력된 원본 이미지의 범위 지정된 페이지들을 삽입
virtual int64_t GetImageSizeByte() const
현재 선택된 페이지의 이미지 크기를 얻음
virtual const CFLImagePage * GetPage(int32_t i32Index=-1) const
지정한 페이지의 인스턴스를 얻음
virtual int32_t GetPixelSizeByte() const
현재 선택된 페이지의 이미지 픽셀당 차지하는 바이트 크기 값을 얻음
virtual const CFLArray< wchar_t * > * GetFigures() const
이미지 객체에 들어있는 Figure 들을 얻음
CFLImage()
기본 생성자
virtual const CResult PushFrontPages(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 앞 페이지에 입력된 원본 이미지의 범위 지정된 페이지들을 삽입
virtual const CResult LoadFront(const wchar_t *pWcsPath, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
이미지 파일을 맨 앞 페이지에 삽입
virtual const CResult ResizePage(int32_t i32Resize)
지정된 크기만큼 페이지의 개수를 재조정
virtual CFLImageExtraDataBase * GetExtraData(EImageExtraDataType eDataType, int32_t i32Index=0) const
ExtraData를 얻음
virtual const CResult AssignPages(const CFLImage &fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 범위 만큼 현재 객체로 복사.
virtual const CResult Assign(const CFLImage *pFliSourceImage, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체를 현재 객체로 복사
virtual int32_t GetVersion() const
CFLImage객체의 버전을 반환 합니다. flif 파일을 열었을 경우 해당 파일의 버전이 반환 됩니다.
virtual int32_t MoveToPreviousPage() const
이전 페이지를 선택
virtual const CResult Assign(const CFLImage *pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 범위 만큼 현재 객체로 복사.
virtual const CResult Swap(CFLImage *pFliImage)
다른 이미지 객체와 현재 객체를 교체
virtual const CResult AssignPage(const CFLImage *pFliSourceImage, int32_t i32OwnPageIndex=-1, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 지정된 페이지에 원본의 지정된 페이지를 할당
virtual wchar_t * GetPageName() const
페이지 이름을 얻음
CFLImage(const CFLImage &fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 범위 만큼 현재 객체로 복사.
CFLImage(int64_t i64Width, int64_t i64Height, const uint8_t *pU8Buffer, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
생성자
CFLImage(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 인덱스 목록에 해당되는 페이지를 복사.
virtual int32_t CalculatePixelSizeByte(int32_t i32Channels=0, int32_t i32Depth=0) const
입력 값을 바탕으로 픽셀 크기를 바이트 단위로 계산
virtual ~CFLImage()
소멸자
virtual uint8_t ** GetYOffsetTable() const
기 계산된 Y Offset에 대한 포인터 획득
virtual const CResult ClearFiguresAllPages()
모든 페이지 내에 들어있는 모든 Figure 를 제거
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
원하는 페이지 범위의 이미지를 파일로 저장. 만약 0번 페이지터 7번 페이지까지 저장한다면 각각 시작 0번, 종료 7번 이 된다. 논리 조건은 다음과 같다....
virtual const CResult PushFrontPages(const CFLImage &fliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 앞 페이지에 입력된 원본 이미지의 지정된 페이지 인덱스 목록에 해당되는 페이지를 삽입
virtual int64_t * GetXOffsetTable() const
기 계산된 X Offset에 대한 포인터 획득
virtual bool IsPageSpecEqual(const CFLImage &fliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1) const
이미지 객체 내에 특정 페이지 혹은 현재 페이지와 대상 이미지 객체 내의 특정 페이지 혹은 현재 페이지의 스펙 일치 여부를 반환 합니다.
CFLImage(const CFLImagePage *pFlipSrc, bool bDeepCopy=true, bool bDeepCopyFigure=true)
생성자
virtual const CResult GetXOffsetTable(int64_t *&pI64XOffset) const
기 계산된 X Offset에 대한 포인터 획득
CFLImage(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 인덱스 목록에 해당되는 페이지를 복사.
virtual bool IsSigned() const
현재 선택된 페이지의 이미지 픽셀 부호 여부
virtual const CResult DeleteFigureAt(int32_t i32Index)
특정 Index에 해당하는 Figure를 이미지 객체에서 삭제
virtual bool IsPageSpecEqual(const CFLImage *pFliTargetImage, int32_t i32OwnPageIndex=-1, int32_t i32TargetPageIndex=-1) const
이미지 객체 내에 특정 페이지 혹은 현재 페이지와 대상 이미지 객체 내의 특정 페이지 혹은 현재 페이지의 스펙 일치 여부를 반환 합니다.
virtual int32_t GetFigureCount() const
이미지 객체에 들어있는 Figure 개수를 반환
CFLImage(const CFLImage &fli)
복사 생성자 (참조) 깊은 복사를 수행한다.
virtual const CResult AddExtraData(CFLImageExtraDataBase *pExtData)
ExtraData를 추가
virtual const CResult PushFrontPages(const CFLImage &fliSourceImage, int32_t i32StartPageIndex=0, int32_t i32PageCount=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 앞 페이지에 입력된 원본 이미지의 범위 지정된 페이지들을 삽입
virtual bool IsPageSpecEqual(const CFLImagePage *pFlipTargetPage, int32_t i32OwnPageIndex=-1) const
이미지 객체 내에 특정 페이지 혹은 현재 페이지와 대상 이미지 페이지 객체의 스펙 일치 여부를 반환 합니다.
virtual int32_t CalculatePixelSizeBit(int32_t i32Channels=0, int32_t i32Depth=0) const
입력 값을 바탕으로 픽셀 크기를 비트 단위로 계산
virtual bool IsPageSpecEqual(const CFLImagePage &flipTargetPage, int32_t i32OwnPageIndex=-1) const
이미지 객체 내에 특정 페이지 혹은 현재 페이지와 대상 이미지 페이지 객체의 스펙 일치 여부를 반환 합니다.
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)
자신의 지정된 인덱스에 입력된 원본 이미지의 범위 지정된 페이지들을 삽입
virtual const CResult Assign(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 인덱스 목록에 해당되는 페이지를 복사.
virtual const CResult RemovePages(Base::CFLArray< int32_t > &flaPageIndices)
지정된 페이지들을 삭제
virtual int32_t CreatePage(int32_t i32InsertIndex=-1)
새로운 페이지를 생성
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarULL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
생성자
virtual int32_t MoveToNextPage() const
다음 페이지를 선택
virtual const CResult AssignPages(const CFLImage *pFliSourceImage, const CFLArray< int32_t > &flaPageIndices, bool bDeepCopy=true, bool bDeepCopyFigure=true)
다른 이미지 객체에서 지정된 페이지 인덱스 목록에 해당되는 페이지를 복사.
virtual const CResult GetYOffsetTable(uint8_t **&ppU8YOffset) const
기 계산된 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)
Raw 이미지 파일을 로드
virtual const CResult PushFrontPage(const CFLImage &fliSourceImage, int32_t i32SourcePageIndex=-1, bool bDeepCopy=true, bool bDeepCopyFigure=true)
자신의 맨 앞 페이지에 입력된 원본 이미지의 지정된 페이지를 삽입
CFLImage(int64_t i64Width, int64_t i64Height, const CMultiVarLL flmvFillValue, EPixelFormat ePixelFormat=EPixelFormat_C1_U8, int32_t i32AlignByte=4, int64_t i64WidthStepByte=0)
생성자
CFLImage 의 Page 클래스
Definition FLImagePage.h:37
Template type 의 문자열 클래스
Definition INIUtilities.h:20
다중 변수 클래스
Definition MultiVar.h:31
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
EPixelFormat
픽셀 포맷
Definition DefinitionsBase.h:88
EValueType
값 타입
Definition DefinitionsBase.h:50
EImageExtraDataType
이미지의 추가 데이터 타입
Definition DefinitionsBase.h:2941