描述
用于访问图片属性,从而在页面布局中重新定位图片并获取和设置其数据源。
讨论
PictureElement 对象代表已插入到页面布局中的栅格或影像。Layout 对象上的 listElements 方法将返回页面布局元素对象的 Python 列表。随后需要遍历列表中的每个项目,或指定一个索引号以引用具体的页面元素对象。要仅返回 PictureElements 列表,则对 element_type 参数使用 PICTURE_ELEMENT 常量。wildcard 还可以根据元素name进一步优化搜索。
X、Y 元素位置取决于元素的锚位置。
PictureElement 对象所具有的 sourceImage 属性,可用于读取原始源或指定新图片源位置。如果您计划用不同大小和纵横比的图片替换原有图片,则应创建原始图片,其中的高度和宽度代表所有其他图片在页面布局中占据的范围。使用 sourceImage 属性替换某个图片且新图片具有不同的横纵比时,将使用最长边调整新图片,使其适应原始图片区域。替换的图片绝不会超过原始定义的尺寸。您最好还设置锚点位置,以便所有新图片都相对于该位置进行调整。如果不希望图片偏斜,请确保选中保留纵横比选项。
注:
图片始终存储在项目中。sourceImage 属性显示插入图片时的原始源位置。将文件从磁盘中移除后图片将继续显示在布局中。
属性
属性 | 说明 | 数据类型 |
elementHeight (可读写) | 元素的高度(以页面单位计)。分配或报告的单位为页面单位。 | Double |
elementPositionX (可读写) | 图片元素的锚点位置的 x 位置。分配或报告的单位为页面单位。 | Double |
elementPositionY (可读写) | 图片元素的锚点位置的 y 位置。分配或报告的单位为页面单位。 | Double |
elementRotation (可读写) | 元素的旋转角度(以度为单位)。正值将使方向顺时针旋转,负值将使方向逆时针旋转。 | Double |
elementWidth (可读写) | 元素的宽度(以页面单位计)。分配或报告的单位为页面单位。 | Double |
name (可读写) | 元素的名称。 | String |
sourceImage (可读写) | 表示到图片数据源的文本字符串。 | String |
type (只读) | 返回 PICTURE_ELEMENT。 | String |
visible (可读写) | 如果元素在布局上可见,则返回 True。进行打印或导出前,您可以切换元素的可见性,而不是从页面中移除不需要的对象。 | Boolean |
代码示例
以下脚本将按名称查找图片,并将其数据源设置为新路径。
import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
lyt = aprx.listLayouts("Main Attractions")[0]
pic = lyt.listElements("PICTURE_ELEMENT", "logo")[0]
pic.sourceImage = r"C:\Projects\YosemiteNP\yoslogo.png"
aprx.save()
del aprx