# CreateFromBounds(Terrain, Rect, int, int, int, bool, bool)

> Constructs a PaintContext that you can use to edit a texture on a Terrain, in the region defined by boundsInTerrainSpace and extraBorderPixels.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.TerrainTools](/engine/6000.7/script-reference/unityengine/terraintools.md)
* **Assembly:** UnityEngine.TerrainModule

```csharp
public static PaintContext CreateFromBounds(Terrain terrain, Rect boundsInTerrainSpace, int inputTextureWidth, int inputTextureHeight, int extraBorderPixels = 0, bool sharedBoundaryTexel = true, bool fillOutsideTerrain = true)
```

### Parameters

**** (\[Terrain]\(/engine/6000.7/script-reference/unityengine/terrain)): Terrain that defines terrain space for this PaintContext.**** (\[Rect]\(/engine/6000.7/script-reference/unityengine/rect)): Terrain space bounds to edit in the target terrain texture.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Width of the input Terrain Texture for all connected Terrains.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Height of the input Terrain Texture for all connected Terrains.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Number of extra border pixels required. The default value is 0.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Whether to stretch the Textures so that edge texels lie on the Terrain boundary, and are shared with connected Terrains.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Whether to fill empty space outside of the Terrain tiles with data from the nearest tile.

### Returns

| Type                                                                                     | Description |
| ---------------------------------------------------------------------------------------- | ----------- |
| [PaintContext](/engine/6000.7/script-reference/unityengine/terraintools/paintcontext.md) |             |

### Remarks

This function calculates a pixelRect from `boundsInTerrainSpace` and `extraBorderPixels`, and then constructs a PaintContext from the pixelRect.

This function is called internally by [TerrainPaintUtility.BeginPaintHeightmap](/engine/6000.7/script-reference/unityengine/terraintools/terrainpaintutility/beginpaintheightmap.md), [TerrainPaintUtility.BeginPaintTexture](/engine/6000.7/script-reference/unityengine/terraintools/terrainpaintutility/beginpainttexture.md) and [TerrainPaintUtility.CollectNormals](/engine/6000.7/script-reference/unityengine/terraintools/terrainpaintutility/collectnormals.md).

Additional Resources: [PaintContext](/engine/6000.7/script-reference/unityengine/terraintools/paintcontext.md)
