图片(picture)

功能

显示图片

参数

  • 图片的名称:此参数为字符串类型,写作 "pictureName.png"(该图片需放入当前路径下,如不在当前路径需写入完整路径,不包括路径的图片名称不能超过64字节)
  • 控件所在位置及所占空间大小,此参数类型为元组,写作 (a, b, c, d) 其中a/b/c/d都应该是正整形值分别表示控件的 起始行/起始列/所占行数/所占列数,其中c/d可以省略,省略时值均为1。
  • 参数key:书写格式为key=“表达式”,为KUI支持的表达式(不支持KUI脚本自定义变量),此参数需要和字典参数choices一起使用,控件将显示choices中与表达式的值相等的键对应的图片。当使用这种用法时可以指定第一个参数,也可以不指定(即用" “替代图片的名称),当指定第一个参数时,控件的默认图片为第一个参数对应的图片,即当表达式的值不与choices中任何一个键值相等时显示的图片。当不指定第一个参数,且表达式的值不与choices中任何一个键值相等时,控件将不显示任何内容。(此参数可以省略)(V1.7开始支持)
  • 参数choices:此参数为字典参数,字典的值为图片名称(图片需放入当前路径下,如不在当前路径需写入完整路径)。当和参数key一起使用时,字典的键为若干可与参数key相等的值;当不与参数key一起使用时,字典的键为此页面中若干可捕获焦点的控件的id,当相应控件捕获焦点时将显示对应图片,键为控件id时也可以设置默认图片,格式与键为表达式的值时相似。(V1.7开始支持)
  • 参数alpha:图片是否是透明的,默认为不是透明的,此参数非字符串类型,写作 alpha=透明,使用此参数时,使用的图片需要是透明背景,非透明背景图片此参数无效。当两张图片重合或部分重合时可以将前景图片做成透明背景,将此参数设置为 透明,将只显示前景图片的前景。(V2.5开始支持)
  • 参数dx:图片相对于其初始位置左右方向的偏移,为负值时向左偏移,为正值时向右偏移,单位为像素,支持所有KUI支持的参数和表达式,此参数为字符串类型,写作 dx="#500"(V2.5开始支持)
  • 参数dy:图片相对于其初始位置上下方向的偏移,为负值时向上偏移,为正值时向下偏移,单位为像素,支持所有KUI支持的参数和表达式,此参数为字符串类型,写作 dy="#500"(V2.5开始支持)
  • 参数dx_range:参数dx的取值范围,此参数类型为列表,写作 dx_range=[a, b],a为dx可取的最小值,b为dx可取的最大值。必须满足a<=b。当dx的值小于a时,偏移值为a;当dx的值大于b时,偏移值为b。(V2.5开始支持)
  • 参数dy_range:参数dy的取值范围,此参数类型为列表,写作 dy_range=[a, b],a为dy可取的最小值,b为dy可取的最大值。必须满足a<=b。当dy的值小于a时,偏移值为a;当dy的值大于b时,偏移值为b。(V2.5开始支持)

示例

此控件用于在自定义界面某一区域显示一张图片,可以为自定义界面制作一个封面;也可以在某一区域显示加工工件图示;还可以用此控件对界面进行美化,详见界面美化方案。 例如,下图是为"滚齿机"自定义界面制作的封面。

picture

with page (12,  16, id="主页面",text=(边界白色, f24x12, 居中), data=(绿色,f24x12)):
    picture("滚齿机第一页.png", (1, 1, 12, 16)) #"滚齿机第一页.png"图片放入当前文件夹,充满整个页面
with page (12,  16, id="刀尖方向显示",text=(边界白色, f24x12, 居中), data=(绿色,f24x12)):
    picture("刀尖方向1.png",(1, 1, 3, 3), key="#500 + 1", choices={1: "刀尖方向1.png", 2: "刀尖方向2.png", 2: "刀尖方向2.png"})  #当表达式"#500 + 1"等于choices的某一个键时,显示对应的图片。如:"#500 + 1"为2时,控件显示图片"刀尖方向2.png"。当表达式的值不与任何一个键相等时将显示默认图片"刀尖方向1.png"。
    data("#500", (4, 1, 1, 1), id="data_500")
    data("#501", (4, 2, 1, 1), id="data_501")
    data("#502", (4, 3, 1, 1), id="data_502")
    data("#503", (4, 4, 1, 1), id="data_503")
    picture("",(5, 5, 3, 3), choices={"data_500": "刀尖方向1.png", "data_501": "刀尖方向2.png", "data_502": "刀尖方向2.png"})  #当id为data_500的控件捕获焦点时此控件显示图片"刀尖方向1.png"。当id为data_503的控件捕获焦点时此控件什么也不显示。

自定义界面不会改变图片原本的长宽比(将导致图片变形),所以某些时候可能会发生图片不能充满指定区域的情况,那是因为某个方向已经等于其指定区域的长度,由于固定的长宽比另一个方向长度固定,导致不能充满,此时要重新设计图片。