Vla-put-contrast

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月7日 (木) 06:19時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-contrast ''vla-object'' ''num'') ; 機能 : イメージやアンダーレイの現在のコントラスト値を指定する。 ;...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-contrast vla-object num)


機能
イメージやアンダーレイの現在のコントラスト値を指定する。


引数
  • vla-object … VLAオブジェクト(DgnUnderlay、DwfUnderlay、GeomapImage、PdfUnderlay、RasterImage、Wipeout)
  • num … 0~100の整数。(初期値は 50)


戻り値
nil


  • 注意 : 元のラスター イメージ ファイルに影響を与えることなく、画面上のイメージや印刷イメージの明るさ、コントラスト、フェードを調整することができる。イメージを暗くしたり明るくするには、明るさを調整する。コントラストを調整すると、低品質のイメージも見やすくなる。フェードを調整すると、イメージ上のベクトルが見やすくなり、印刷結果にすかしを入れることができる。モノクロ イメージの場合、明るさ、コントラスト、フェードの調整はできない。


サンプル
(vl-load-com)
(defun c:Example_imageprops()
    ;; ラスターイメージを挿入して明るさ、
    ;; フェード・コントラストを変更するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; "2d Projected Polylines.jpg" っていうファイルを挿入している
    ;; ので、適当に用意しておくこと。
    (setq insertionPoint (vlax-3d-point 2 2 0)
          imageName ".\\2d Projected Polylines.jpg"
          scalefactor 1
          rotAngleInDegree 0
          rotAngle (/ (* rotAngleInDegree 3.141592) 180))

    (if (/= (findfile imageName) nil)
        (progn
            ;; ラスターを作成
            (setq modelSpace (vla-get-ModelSpace doc))
            (setq raster (vla-AddRaster modelSpace (findfile imageName) insertionPoint scalefactor rotAngle))
            (vla-ZoomExtents acadObj)

            ;; 明るさを取得
            (vla-Regen doc :vlax-true)
            (alert (strcat "明るさの値は : " (rtos (vla-get-Brightness raster) 2)))
    
            ;; 明るさを 5 に変更
            (vla-put-Brightness raster 5)
            (vla-Regen doc :vlax-true)
            (alert (strcat "明るさを次に変更 : " (rtos (vla-get-Brightness raster) 2)))

            ;; フェードを取得
            (alert (strcat "フェードの値は : " (rtos (vla-get-fade raster) 2)))
    
            ;; フェードを 30 に変更
            (vla-put-fade raster 30)
            (vla-Regen doc :vlax-true)
            (alert (strcat "フェードを次に変更 : " (rtos (vla-get-fade raster) 2)))

            ;; コントラストを取得
            (alert (strcat "フェードの値は : " (rtos (vla-get-contrast raster) 2)))
    
            ;; コントラストを 30 に変更
            (vla-put-contrast raster 30)
            (vla-Regen doc :vlax-true)
            (alert (strcat "フェードを次に変更 : " (rtos (vla-get-contrast raster) 2)))
        )
        (alert (strcat imageName " が無いですよ."))
    )
)

関連事項