---
title: "Class ImageLoader | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas/ImageLoader/"
---

# Class ImageLoader

> **Inheritance:** `System.Object` -> ImageLoader

###### **Namespace**: [Aurigma.DesignAtoms.Canvas](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public class ImageLoader : IImageLoader
```

## Implements

* [Aurigma.DesignAtoms.Canvas.IImageLoader](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas/IImageLoader.md)

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### ImageLoader

```csharp
public ImageLoader(IConfiguration configuration, IStateResourcesLoader stateResourcesLoader, IFileCache fileCache, IRemoteImageLoader remoteImageLoader, ISourceImageParamsReader imageParamsReader, IRepositoryImageParamsReaderFactory repositoryImageParamsReaderFactory, IPublicImagesProvider publicImagesProvider, IUserImagesProvider userImagesProvider, ISessionContext sessionContext = null)
```

## Methods

### CreateImageSource

```csharp
public ImageItem.ImageSource CreateImageSource(Bitmap bitmap, FileFormat fileFormat)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `Aurigma.GraphicsMill.Bitmap` | *bitmap* |  |
| [Aurigma.DesignAtoms.Model.Configuration.FileFormat](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Configuration/FileFormat.md) | *fileFormat* |  |

##### Returns

[Aurigma.DesignAtoms.Model.Items.ImageItem.ImageSource](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.ImageSource.md)

### CreateImageSource

```csharp
public ImageItem.ImageSource CreateImageSource(Stream inputStream, int pageIndex = 0)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *inputStream* |  |
| `System.Int32` | *pageIndex* |  |

##### Returns

[Aurigma.DesignAtoms.Model.Items.ImageItem.ImageSource](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.ImageSource.md)

### LoadImage

```csharp
public string LoadImage(PipelineElement reader, FileFormat fileFormat = FileFormat.Tiff, bool actualSize = false, bool preserveAspectRatio = false)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `Aurigma.GraphicsMill.PipelineElement` | *reader* |  |
| [Aurigma.DesignAtoms.Model.Configuration.FileFormat](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Configuration/FileFormat.md) | *fileFormat* |  |
| `System.Boolean` | *actualSize* |  |
| `System.Boolean` | *preserveAspectRatio* |  |

##### Returns

`System.String`

### LoadImage

```csharp
public string LoadImage(FileInfo sourceImage, bool allowImageFileDelete = false, string storageId = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.FileInfo` | *sourceImage* |  |
| `System.Boolean` | *allowImageFileDelete* |  |
| `System.String` | *storageId* |  |

##### Returns

`System.String`

### LoadImage

```csharp
public void LoadImage(ImageItem imageItem, PipelineElement reader, FileFormat fileFormat, bool actualSize = false, bool preserveAspectRatio = false, int pageIndex = 0, bool takeIntoAccountImageDpi = false)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *imageItem* |  |
| `Aurigma.GraphicsMill.PipelineElement` | *reader* |  |
| [Aurigma.DesignAtoms.Model.Configuration.FileFormat](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Configuration/FileFormat.md) | *fileFormat* |  |
| `System.Boolean` | *actualSize* |  |
| `System.Boolean` | *preserveAspectRatio* |  |
| `System.Int32` | *pageIndex* |  |
| `System.Boolean` | *takeIntoAccountImageDpi* |  |

### LoadImage

```csharp
public void LoadImage(ImageItem imageItem, FileInfo imageFile, bool actualSize, int pageIndex = 0)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *imageItem* |  |
| `System.IO.FileInfo` | *imageFile* |  |
| `System.Boolean` | *actualSize* |  |
| `System.Int32` | *pageIndex* |  |

### LoadImage

```csharp
public void LoadImage(ImageItem imageItem, FileInfo sourceImage, bool actualSize, bool preserveAspectRatio, bool allowImageFileDelete = false, int pageIndex = 0, bool takeIntoAccountImageDpi = false)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *imageItem* |  |
| `System.IO.FileInfo` | *sourceImage* |  |
| `System.Boolean` | *actualSize* |  |
| `System.Boolean` | *preserveAspectRatio* |  |
| `System.Boolean` | *allowImageFileDelete* |  |
| `System.Int32` | *pageIndex* |  |
| `System.Boolean` | *takeIntoAccountImageDpi* |  |

### LoadImage

```csharp
public string LoadImage(ImageItem.ImageSource source)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem.ImageSource](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.ImageSource.md) | *source* |  |

##### Returns

`System.String`

### LoadImage

```csharp
public void LoadImage(ImageItem item, Stream imageStream, bool actualSize, bool preserveAspectRatio, bool takeIntoAccountImageDpi, int pageIndex = 0, string storageId = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *item* |  |
| `System.IO.Stream` | *imageStream* |  |
| `System.Boolean` | *actualSize* |  |
| `System.Boolean` | *preserveAspectRatio* |  |
| `System.Boolean` | *takeIntoAccountImageDpi* |  |
| `System.Int32` | *pageIndex* |  |
| `System.String` | *storageId* |  |

### Update

```csharp
public Task Update(ImageItem item, bool needToDownloadImage, bool actualSize, bool preserveAspectRatio, bool takeIntoAccountImageDpi, string sourceUrl = null, float xDpi = 72F, float yDpi = 72F)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *item* |  |
| `System.Boolean` | *needToDownloadImage* |  |
| `System.Boolean` | *actualSize* |  |
| `System.Boolean` | *preserveAspectRatio* |  |
| `System.Boolean` | *takeIntoAccountImageDpi* |  |
| `System.String` | *sourceUrl* |  |
| `System.Single` | *xDpi* |  |
| `System.Single` | *yDpi* |  |

##### Returns

`System.Threading.Tasks.Task`

### DownloadImageSource

```csharp
public string DownloadImageSource(ImageItem.ImageSource imageSource)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem.ImageSource](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.ImageSource.md) | *imageSource* |  |

##### Returns

`System.String`

### SetItemImage

```csharp
public void SetItemImage(ImageItem item, string storageFileId, int pageIndex, bool actualSize, bool preserveAspectRatio, bool takeIntoAccountImageDpi, float xDpi = 72F, float yDpi = 72F)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *item* |  |
| `System.String` | *storageFileId* |  |
| `System.Int32` | *pageIndex* |  |
| `System.Boolean` | *actualSize* |  |
| `System.Boolean` | *preserveAspectRatio* |  |
| `System.Boolean` | *takeIntoAccountImageDpi* |  |
| `System.Single` | *xDpi* |  |
| `System.Single` | *yDpi* |  |

### SetImageItemHeight

```csharp
public void SetImageItemHeight(ImageItem item, float height, bool calculateWidth = true)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *item* |  |
| `System.Single` | *height* |  |
| `System.Boolean` | *calculateWidth* |  |

### SetImageItemWidth

```csharp
public void SetImageItemWidth(ImageItem item, float width, bool calculateHeight = true)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *item* |  |
| `System.Single` | *width* |  |
| `System.Boolean` | *calculateHeight* |  |

### GetExtendedImageSource

```csharp
public ImageLoader.ExtendedImageSource GetExtendedImageSource(ImageItem.ImageSource imageSource)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem.ImageSource](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.ImageSource.md) | *imageSource* |  |

##### Returns

[Aurigma.DesignAtoms.Canvas.ImageLoader.ExtendedImageSource](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas/ImageLoader.ExtendedImageSource.md)

### GetExtendedImageSourceAsync

```csharp
public Task<ImageLoader.ExtendedImageSource> GetExtendedImageSourceAsync(ImageItem.ImageSource imageSource)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem.ImageSource](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.ImageSource.md) | *imageSource* |  |

##### Returns

`System.Threading.Tasks.Task<Aurigma.DesignAtoms.Canvas.ImageLoader.ExtendedImageSource>`
