Canvas Imagedata Height π
2026-06-14 | π HTML
## HTML Canvas ImageData `height` Property
The `height` property of an `ImageData` object returns the actual height of the image data in pixels.
An `ImageData` object represents the underlying pixel data of an area of a `` element. It contains three main properties: `width`, `height`, and `data` (a one-dimensional array containing the RGBA pixel data).
---
## Syntax
```javascript
imageData.height;
```
### Return Value
* **Type:** `Number`
* **Description:** A read-only integer representing the height of the `ImageData` object in pixels.
---
## Browser Support
The `height` property is supported by all modern web browsers:
* Google Chrome
* Mozilla Firefox
* Microsoft Edge / Internet Explorer 9+
* Safari
* Opera
*Note: Internet Explorer 8 and earlier versions do not support the `` element.*
---
## Code Examples
### Example 1: Getting the Height of an ImageData Object
The following example creates an `ImageData` object using the `createImageData()` method and outputs its height to the console.
```javascript
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
// Create an ImageData object with a width of 200px and height of 150px
const imgData = ctx.createImageData(200, 150);
// Output the height of the ImageData object
console.log("Height of imgData is: " + imgData.height); // Output: 150
```
### Example 2: Interactive Canvas Pixel Manipulation
In this practical example, we retrieve the `ImageData` from an existing canvas, read its `width` and `height` properties, and use them to loop through and manipulate the pixel data.
```html
Invert Colors
```
---
## Technical Considerations
### 1. Read-Only Property
The `height` property of an `ImageData` object is **read-only**. You cannot resize an `ImageData` object by manually changing its `height` property. Attempting to write to it will either fail silently or throw an error in strict mode.
```javascript
const imgData = ctx.createImageData(100, 100);
imgData.height = 200; // This will have no effect
console.log(imgData.height); // Still outputs 100
```
### 2. Relationship with High-DPI Displays (Retina Screens)
The `height` of the `ImageData` object represents the actual number of physical pixels in the image data array. On high-DPI (Retina) displays, the physical pixel dimensions of the canvas backing store may be larger than the CSS dimensions of the `` element.
### 3. Related Canvas Methods
To fully utilize `ImageData` objects, you should also refer to the following Canvas 2D API methods:
* **`createImageData()`**: Creates a new, blank `ImageData` object with the specified dimensions.
* **`getImageData()`**: Returns an `ImageData` object containing the pixel data for a specified portion of the canvas.
* **`putImageData()`**: Paints data from a given `ImageData` object back onto the canvas.