# dotNet.ReoGrid 扩展库 - 浮动图像

ReoGrid 支持在工作表上显示浮动图像。既可以从 Excel 文件中加载和保存图像，也可以在工作表上显示图像。

在工作表中添加图像
-------------------------------------------------

```aardio
// 获取工作表实例
var sheet1 = reoGridControl.Worksheets[0];
// 从文件创建 Windows 图像
var image = System.Drawing.Image.FromFile("Sample.png");
// 创建浮动图像对象
var imageObject = ReoGrid.Drawing.ImageObject(image);
// 设置图像在工作表中的位置
imageObject.Location = grid.Point(40, 30);
// 将浮动图像对象添加到工作表
sheet1.FloatingObjects.Add(imageObject);
```

效果图：![261](../images/261.png)

从工作表中获取图像
-----------------------------------------------------

遍历所有浮动对象并检查是否为图像对象：

```aardio
// 遍历所有浮动对象
for(i=1;sheet1.FloatingObjects.Count;1){
    var floatingObject = sheet1.FloatingObjects[i-1]; // .NET 数组索引从0开始
    // 检查是否为图像对象
    if(type(floatingObject) == type(ReoGrid.Drawing.ImageObject)){
        var imageObject = floatingObject;
        // 处理图像对象...
    }
}
```

获取和设置图像位置与大小
--------------------------------------------------------------------------

Location 属性用于设置图像在工作表中的位置。

```aardio
imageObject.Location = grid.Point(40, 30);
```

浮动图像的 Size 属性用于获取和设置图像大小。

当浮动图像初次创建时，Size 就是图像的实际大小。要改变大小，使用以下代码：

```aardio
imageObject.Size = grid.Size(200, 100);
```

也可以同时设置位置和大小：

```aardio
imageObject.Bounds = ReoGrid.Graphics.Rectangle(200, 100, 80, 60);
```

[Excel 支持](#excel-支持)
-------------------------------

当工作表包含任何浮动图像时，这些图像会自动从 Excel 文件中加载并保存回 Excel 文件。

关于浮动对象
------------------------------------------------

绘图形状、图像和[图表](../chart.html)都是工作表中的浮动对象。要添加或移除浮动对象，可以使用 `Worksheet.FloatingObjects` 集合属性。

了解更多关于[浮动对象](../floating.html)的信息。

### 代码说明

1. 在 aardio 中调用 .NET 对象时，需要先导入相应的命名空间（如 `System.Drawing`）
2. .NET 数组索引从0开始，aardio 数组索引从1开始，在遍历时需要注意转换
3. 类型检查使用 `type()` 函数，而不是 C# 的 `is` 操作符
4. 对象属性赋值方式与 C# 类似，但不需要 `new` 关键字
5. 坐标和尺寸相关的类（Point/Size/Rectangle）需要从 ReoGrid.Graphics 命名空间获取