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 의 배열 클래스.
Definition FLArray.h:53
CFLBase()
기본 생성자
이미지 확장 데이터 기초 클래스
Definition FLImageExtraDataBase.h:27
이미지 파일 작업 상태 클래스
Definition FLImageFileWorkStatus.h:27
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 LoadFront(const CFLArray< CFLString< wchar_t > > &flaPathList, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
목록에 포함된 이미지 파일을 맨 앞 페이지에 삽입
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
현재 선택된 페이지에 이미지 버퍼를 직접 설정
virtual const CResult LoadBack(const CFLArray< CFLString< wchar_t > > &flaPathList, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
목록에 포함된 이미지 파일을 맨 뒤 페이지에 삽입
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 LoadInsert(const CFLArray< CFLString< wchar_t > > &flaPathList, int32_t i32PageIndex=-1, bool bRecursiveIfDirectory=true, CFLImageFileWorkStatus *pIfws=nullptr, bool bFlifCodecWithoutBuffer=true)
목록에 포함된 이미지 파일을 원하는 페이지 인덱스에 로드
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 FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1631
Definition AESCryptography.h:18
EPixelFormat
픽셀 포맷
Definition DefinitionsBase.h:88
@ EPixelFormat_C1_U8
Definition DefinitionsBase.h:125
CMultiVar< double > CMultiVarD
Definition MultiVar.h:827
EValueType
값 타입
Definition DefinitionsBase.h:50
@ EValueType_Unsigned
부호 없음
Definition DefinitionsBase.h:58
CMultiVar< int64_t > CMultiVarLL
Definition MultiVar.h:809
CMultiVar< int32_t > CMultiVarL
Definition MultiVar.h:797
CMultiVar< uint64_t > CMultiVarULL
Definition MultiVar.h:815
CMultiVar< uint32_t > CMultiVarUL
Definition MultiVar.h:803
CMultiVar< float > CMultiVarF
Definition MultiVar.h:821
EImageExtraDataType
이미지의 추가 데이터 타입
Definition DefinitionsBase.h:3091