sym123321 发表于 2010-6-12 12:18:00

[求助]用LISP怎么获取屏幕的大小?

用LISP怎么获取屏幕的大小?

就是屏幕的左下角坐标和右上角坐标。

我用vsmin vsmax 变量取得的坐标不对

用viewsize 变量只能取得屏幕的高度,宽度怎么得到呢?

希望朋友们指定一下,谢谢

asdfxx 发表于 2010-6-12 12:29:00

再加上VIEWCTR 系统变量

cjs 发表于 2010-6-12 17:14:00

只能通过计算,没有直接获取的办法?

用vsmin 和 vsmax 求高宽比,再跟 viewsize 得取宽度?

依据 viewctr 求得屏幕角点?

我还是搜搜看好了,谢谢大家的回答

utopio 发表于 2022-7-9 19:58:00


;;;通用函数获取当前绘图区域比例(acad尺寸 比 像素)
(defun ZL-GET-SCREEN-SC      ()
    (/ (getvar "VIEWSIZE") ;_当前视口高度
       (cadr (getvar "SCREENSIZE"))
    )
)
;;;通用函数获取当前绘图区域左上角坐标
(defun ZL-GET-SCREEN-PT7 (/ PT0 X0 Y0 H W)
    (setq PT0 (getvar "VIEWCTR") ;_视口中心坐标(UCS下)
          X0(car PT0)
          Y0(cadr PT0)
    )
    (setq H (getvar "VIEWSIZE") ;_当前视口高度
          W (* H
               (/ (car (getvar "SCREENSIZE"))
                  (cadr (getvar "SCREENSIZE"))
               )
            ) ;_当前视口宽度
    )
    ;;返回
    (list (+ X0 (* -0.5 W)) (+ Y0 (* 0.5 H)))
)
页: [1]
查看完整版本: [求助]用LISP怎么获取屏幕的大小?