자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

제가 업무의 특성상 이미지 핸들링을 참 많이 합니다.

 

특수 목적의 산업용 프린터를 개발하는 분야에서 일하기 때문이지요

 

과거 VCL에서는 이미지 핸들링에 있어서 어려운 부분이 flip/rotate등을 빠르게 처리하는 것인데요

 

이런 부분이 FMX에서는 Tbitmap상에 기본 함수로 있을 뿐만 아니라 속도가 기가 막히게 빠르더군요

 

아주 환상적인 기능이라서 매~~~~우 기뻤습니다.

 

그런데 기쁨도 잠시....

 

프린터를 구현하는데 있어서 최종적으로는 모든 이미지를 각각의 컬러 프로파일로 나누어서 1bit bitmap으로 분산하여 처리를 하는데요

 

FMX pixelformat에는 1비트 비트맵이 없네요...

 

게다가 pixelformat 자체가 readonly 속성으로 설정되어 있어서 포맷 변경이 불가능하더군요...

 

 

 

일단 제가 지지고 볶고 열심히 뒤져본 결과

 

결론은 지금은 안된다!!! 라고 생각합니다.

 

FMX에서는 이미지를 저장할때 모든 이미지가 다 기본 32bit bitmap으로 최종적으로 처리가 되더군요

 

그런데 특이점은 savetofile 함수를 안으로 안으로 계속 들어가 보면

 

Codec.SaveToFile(AFileName, Bitmap, SaveParams); 으로 연결되더군요

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

PBitmapCodecSaveParams = ^TBitmapCodecSaveParams;
  TBitmapCodecSaveParams = record
    // encode quality 0..100
    Quality: Integer;
  end;

 

class function TBitmapCodecManager.SaveToFile(const AFileName: string; const Bitmap: TBitmapSurface;
  const SaveParams: PBitmapCodecSaveParams = nil): Boolean;
var
  Codec: TCustomBitmapCodec;
  Descriptor: TBitmapCodecClassDescriptor;
begin
  Result := False;
  if Assigned(FBitmapCodecClassDescriptors) then
    for Descriptor in FBitmapCodecClassDescriptors do
      if SameText(ExtractFileExt(AFileName), Descriptor.Extension, loUserLocale) and Descriptor.CanSave then
      begin
        Codec := Descriptor.BitmapCodecClass.Create;
        try
          Result := Codec.SaveToFile(AFileName, Bitmap, SaveParams);
        finally
          Codec.Free;
        end;
      end;
end

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

 

그리고 SaveParams는 내부적으로 변수 자체는 존재 하는데 처리상에는 nil로 막아버리더군요

 

이것은 위에 있는 Quality라는 변수를 이용해서 pixelformat을 변경가능하도록 바탕을 만들어 둔것 같은데

 

아직 구현이 안되어 있는 느낌이랄까요?

 

 

저한테는 1bit BMP 핸들링이 절실합니다.

 

제가 하는 업무에 있어서 아주 핵심적인 부분이거든요

 

이부분이 불가능하다면 제가 하는 코딩에 FMX를 접목하는 것 자체가 불가능해지는데

 

그러기에는 FMX의 UI가 너무나도 매력적이네요

 

이런 부분 어떻게 빨리 개선이 안될까요?

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54582
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97993
1119 10.2 TOKYO 버전과 C++ Builder 6.0 간의 호환 질문 [3] goinma 2018.01.16 454
1118 LocationSensor 관련 문의 - GPS 없음 [3] 소란코더 2018.01.17 203
1117 1msec 이하 타임클럭 문의!! [4] 산으로가자요 2018.01.18 694
1116 콜백문자서비스 개발의뢰 [1] 몰라 2018.01.18 278
1115 [10.2.2 세미나] 이전 버전과의 차별점 알려주시면 감사하겠습니다. 험프리 2018.01.18 79
1114 [10.2.2 세미나] 혹시 업데이트3이나 Hotfix 계획이 있나요? 험프리 2018.01.18 113
1113 [10.2.2 세미나] 리눅스 app 언제 지원되나요? 험프리 2018.01.18 90
1112 [10.2.2 세미나] 아이폰X 지원되나요? 험프리 2018.01.18 114
1111 아이폰 본인 전화번호 확인방법?? [1] kerry 2018.01.20 78266
1110 android폰에서 첨부파일 클릭시 파일 업로드와 다운로드가 되지를 않습니다. [3] 조르디 2018.01.22 1288
1109 component 추가 하는 방법 알려주세요. [2] del 2018.01.24 730
1108 안녕하세요. type 문에서 함수에 대해 여쭤보고 싶어요! [1] vast 2018.01.25 136
1107 Tokyo 10.2.2에서 안드로이드용 실행문제 [2] 스카이 2018.01.26 249
1106 Tools > Options > Form Designer > Embedded designer 설정 기능이 없네요 [2] file 신현아빠 2018.01.26 165
1105 델파이에 있는 ctrl+shift+C 빌더에서 되는 지요? [1] file 겨울잠안자는곰 2018.01.27 152
1104 32/64bit 프로그램-windows 10 SDK 문제 한시민 2018.01.30 331
1103 delphi 실행 시 script 오류가 납니다. [1] file del 2018.01.31 172
1102 안드로이드 앱 개발 중 발생하는 오류 관련해 문의 드립니다. [1] file 관리자 2018.02.01 156
1101 HTML5에서 실행파일 구동하기 관련 명령 알고 싶습니다. [1] file 백거 2018.02.01 192
1100 FTPS에 관련된 예제가 없을까요? [1] 맛재현 2018.02.01 366