image_button底色设置问题
一个image_button我想选中的时候变成红色的底色,但是一填充图片底色就没了。如果先填充图片再填充底色,图片又看不到了。请问要怎么处理才能选中的时候换种底色凸显?(mode_tile k1 4)
;;;选中image红显
;;;(start_image k1)
;;;(fill_image 0 0
;;;(dimx_tile k1)
;;;(dimy_tile k1)
;;; 1)
;;;(end_image)
(show_sld1.sld")) 填充SLD前,填充底色为4.(Defun Q@@:Init ()
(setq dx (dimx_tile "img")
dy (dimy_tile "img")
)
(start_image "img")
(fill_image 0 0 dx dy 4)
(slide_image 0 0 dx dy "d:\\111.sld")
(end_image)
)
本帖最后由 kozmosovia 于 2025-1-14 15:11 编辑
上面的是按下会变红,不过如果SLD已经填充满整个image,按下也没有地方可以显示红色了。如果要表示展示按下后被选中了,推荐选中的直接在image的外框处绘制颜色框。
另外的两种处理方式:
1)做两套SLD,选中后,切换显示选中使用的一套,否则使用默认的一套。毕竟底色变了,线条颜色也要变一下的。不过会大大增加需要处理的数据量,不如加红框来得容易。
2)选中后重填SLD,先铺底色红,然后填SLD时用由【0 0 dx dy】填变成【5 5 (dx-10)(dy-10)】这个范围,外面自然留5的红色边框。
kozmosovia 发表于 2025-1-14 14:20
上面的是按下会变红,不过如果SLD已经填充满整个image,按下也没有地方可以显示红色了。如果要表示展示按下 ...
感谢大佬的经验分享~
(defun c:tt ()
(defun ak0 ()
(xyp-SldCoHt "k0" 1)
(xyp-Fill-Sld "k0" "dragon")
)
(setq Dlst '(("k0" "" "ib" "2" "24" "dragon" "(ak0)")))
(xyp-Dcl-Init Dlst "【测试】" t)
(princ)
)
谢谢楼上的朋友,明白了。我自己糊涂了,搞错了,show_sld 函数里我自己把底色设为背景了
页:
[1]