Help.02

DCL의 image(image_button) tile에 bitmap image를 표시하는 함수

 

 DCL에 Bitmap Image 출력

사용법 : (BitmapToDCL KeyName ImageFile BitmapWidth BitmapHeight ColorFlag ViewFlag MessageFlag)

매개 변수

설   명

타  입

 KeyName

 DCL에서 정의된 image 또는 image_button tile의 key name

 String

 ImageFile

 표시할 이미지 파일 이름

 String

 BitmapWidth

 이미지 파일의 가로 픽셀 수

 Integer

 BitmapHeight

 이미지 파일의 세로 픽셀 수

 Integer

 ColorFlag

 DCL에 표시하지 않을 color 번호(0~256)

 Integer

 ViewFlag

 DCL에 표시 방법(0~1)

 Integer

 MessageFlag

 존재하지 않는 Color 메세지 표시 여부(0~1)

 Integer

 

1. 예제 프로그램 DCL과 LISP

 

 

 

 // TestDCL01.dcl

 Test_DCL : dialog

 { label = " Bitmap DCL";

   : image {

             key = "test_image";

             width  = 49.2;

             height = 12.4;

             color  = 0;

           }

   ok_only;

 }

 

 

 ;; TestDCL01.lsp

 (defun C:TL()

      (setq dcl_id (load_dialog "C:/BitmapToDCL/TestDCL01.dcl"))

      (if (not (new_dialog "Test_DCL" dcl_id)) (exit))

      (if (= BitmapToDCL nil)

          (load "C:/BitmapToDCL/BitmapToDCL.lsp")

      )

      (BitmapToDCL "test_image" "C:/BitmapToDCL/Index.bmp" 344 148 0 0 1)

      (setq dialog-state (start_dialog))

      (done_dialog)

      (unload_dialog dcl_id)

      (princ)

 )

 

 

 

2. 매개 변수

1) KeyName : DCL에서 정의된 image tile 또는 image_button tile의 key name

 

2) ImageFile : 표시할 이미지 파일 이름

 

3) BitmapWidth : 표시할 이미지 파일을 가로 Pixel 수

 

4) BitmapHeight : 표시할 이미지 파일을 세로 Pixel 수

 

5) ColorFlag : 이미지 출력시 표시하지 않을 0~256 사이의 Color 번호로 특정 Color가 이미지의 대부분을 이루고

                 있을때 이를 지정하면 표시시간을 단축할 수 있다.

                 모든 Color를 표시하고 싶을 때는 256을 지정하면 되며, 특정 Color를 지정할 경우 대화 상자의

                 이미지 배경 Color를 주의해서 지정해야한다.

 256 : 전체 Color 표시

 

 0 : 검정 Color 표시 생략

 이미지에서 검정색을 생략하고 DCL에서 Color=3; 지정

 0 : 검정 Color 표시 생략

 이미지에서 검정색을 생략하고 DCL에서 Color=-15; 지정

 0 : 검정 Color 표시 생략

 이미지에서 검정색을 생략하고 DCL에서 Color=0; 지정

 

 

6) ViewFlag : DCL에 이미지 표시 방법 결정

 0 : 전체 이미지를 표시

 이미지가 큰 경우 Bitmap의 정보를 읽어들이는데 시간이

 걸려 AutoCAD가 멈춰보일 수 있으므로 이미지가 작은

 경우 지정하는 것이 좋다.

 1 : 한줄씩 이미지를 표시

 큰 이미지 표시할 때 AutoCAD가 멈춰보이는 현상을 없앨

 수 있으나 표시 시간은 0을 지정했을때 보다 조금 더 걸

 리는 단점이 있다.

 

 

7) MessageFlag : 존재하지 않는 Color 메세지 표시 여부

 0 : 메시지 표시 안함

 1 : 메시지 표시함