13#include "FLImagePage.h"
25 class CFLImageFileWorkStatus;
38 SupportToDuplicateObject(
CFLImage,*
this);
119 explicit CFLImage(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
138 explicit CFLImage(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
256 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarUL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
281 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarLL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
306 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarULL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
331 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarF flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
356 CFLImage(int64_t i64Width, int64_t i64Height,
const CMultiVarD flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
381 CFLImage(int64_t i64Width, int64_t i64Height,
const uint8_t* pU8Buffer,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0);
541 virtual const CResult LoadRaw(
const wchar_t* pWcsPath, int64_t i64Width, int64_t i64Height,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64OffsetByteFromBegin = 0, int64_t i64OffsetByteFromEnd = 0,
CFLImageFileWorkStatus* pIfws =
nullptr);
564 virtual const CResult Save(
const wchar_t* pWcsFileName =
nullptr,
bool bOnlyCurrentPage =
false,
bool bCompression =
false, int32_t i32CompressionLevel = 1,
CFLImageFileWorkStatus* pIfws =
nullptr)
const;
616 virtual const CResult SavePage(
const wchar_t* pWcsFileName, int32_t i32PageIndexStart, int32_t i32PageIndexEnd,
bool bCompression =
false, int32_t i32CompressionLevel = 1,
CFLImageFileWorkStatus* pIfws =
nullptr)
const;
696 virtual const CResult Assign(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
719 virtual const CResult Assign(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
886 virtual const CResult AssignPage(
const CFLImage& fliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
909 virtual const CResult AssignPage(
const CFLImage* pFliSourceImage, int32_t i32OwnPageIndex = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
932 virtual const CResult AssignPages(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
955 virtual const CResult AssignPages(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1018 virtual const CResult PushBackPage(
const CFLImage& fliSourceImage, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1039 virtual const CResult PushBackPage(
const CFLImage* pFliSourceImage, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1062 virtual const CResult PushBackPages(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1085 virtual const CResult PushBackPages(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1192 virtual const CResult PushFrontPages(
const CFLImage& fliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1215 virtual const CResult PushFrontPages(
const CFLImage* pFliSourceImage, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1280 virtual const CResult InsertPage(
const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1303 virtual const CResult InsertPage(
const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32SourcePageIndex = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1328 virtual const CResult InsertPages(
const CFLImage& fliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1353 virtual const CResult InsertPages(
const CFLImage* pFliSourceImage, int32_t i32PageIndexToInsert = -1, int32_t i32StartPageIndex = 0, int32_t i32PageCount = -1,
bool bDeepCopy =
true,
bool bDeepCopyFigure =
true);
1990 template <
typename T>
2014 template <
typename T>
2015 const CResult GetPixel(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2)
const;
2034 template <
typename T>
2051 template <
typename T>
2071 template <
typename T>
2072 void GetPixelUnsafe(int64_t i64Column, int64_t i64Row, T& tPixel0, T& tPixel1, T& tPixel2)
const;
2087 template <
typename T>
2108 template <
typename T>
2132 template <
typename T>
2133 const CResult GetSubPixel(
float f32Column,
float f32Row, T& tSubPixel0, T& tSubPixel1, T& tSubPixel2)
const;
2192 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarUL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2221 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarLL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2250 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarULL flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2279 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarF flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2308 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const CMultiVarD flmvFillValue,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2338 virtual const CResult Create(int64_t i64Width, int64_t i64Height,
const uint8_t* pU8Buffer,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4, int64_t i64WidthStepByte = 0)
sealed;
2370 virtual const CResult SetBuffer(
const uint8_t* pU8Buffer, int64_t i64Width, int64_t i64Height,
EPixelFormat ePixelFormat = EPixelFormat_C1_U8, int32_t i32AlignByte = 4,
bool bAutoDestroy =
false,
bool bClear =
true, int64_t i64WidthStepByte = 0)
sealed;
2653 virtual int32_t
SetFigureAt(int32_t i32Index,
const wchar_t* pWcsFigure);
2735 virtual bool IsPageSpecEqual(
const CFLImage* pFliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1)
const;
2752 virtual bool IsPageSpecEqual(
const CFLImage& fliTargetImage, int32_t i32OwnPageIndex = -1, int32_t i32TargetPageIndex = -1)
const;
2808 DeclareGetClassType();
2815 virtual const CResult CreateOffsetTable();
2816 virtual void Init();
2817 virtual void FreeBuffers();
2819 int32_t m_i32SelectedPageIndex;
2820 std::vector<CFLImagePage*>* m_pVctPages;
2825 const uint64_t m_i64Magic;
Template type 의 배열 클래스.
Definition RangeTree.h:19
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
이미지 파일 작업 상태 클래스
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 들을 얻음
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 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