Transform in Angular Image editor component
23 Dec 202210 minutes to read
The Image Editor has the rotate, flip, and zoom transformation options and it transforms the image editor with annotations.
Rotate
Rotate images with annotation to 90, 180, 270, and 360 degrees clockwise and anti-clockwise. Rotating the image can be done by either using a toolbar or rotate
method.
In the rotate
method, the image can be rotated left or right. The rotate method has the following parameters. A Positive integer value for clockwise and a negative integer value for anti-clockwise rotation.
* degree - Specifies a degree to rotate an image.
In the toolbar, rotate the image by clicking the Transform dropdown button and picking the RotateLeft/ RotateRight option from that popup.
In the following example, the rotate
method is used to rotate the image.
import { Component,ViewChild } from '@angular/core';
import { Browser } from '@syncfusion/ej2-base';
import { ImageEditorComponent } from '@syncfusion/ej2-angular-image-editor';
@Component({
selector: 'app-root',
template: `<!-- To render Image Editor. -->
<div id="wrapperDiv" style="width:550px;height:350px;">
<ejs-imageeditor #imageEditor (created)="created()"></ejs-imageeditor>
</div>
<button class="e-btn e-primary" (click)="btnClick()">Click</button>`
})
export class AppComponent {
@ViewChild('imageEditor')
public imageEditorObj: ImageEditorComponent;
public created(): void {
if (Browser.isDevice) {
this.imageEditorObj.open('https://ej2.syncfusion.com/demos/src/image-editor/images/flower.png');
} else {
this.imageEditorObj.open('https://ej2.syncfusion.com/demos/src/image-editor/images/bridge.png');
}
}
btnClick(): void {
this.imageEditorObj.rotate(90);
}
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ImageEditorModule } from '@syncfusion/ej2-angular-image-editor';
import { AppComponent } from './app.component';
import { enableRipple } from '@syncfusion/ej2-base';
enableRipple(true);
/**
* Module
*/
@NgModule({
imports: [
BrowserModule,
ImageEditorModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module';
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);
Flip
Flip images with annotations horizontally/vertically. Flipping the image can be done by either using a toolbar or the flip method.
In the flip method, the image can be flipped horizontally or vertically. The flip
method has the following parameters:
* direction - Specifies the direction to flip the image.
In the toolbar, flip the image by clicking the Transform dropdown button and picking the Horizontal Flip/Vertical Flip option from that popup.
In the following example, the flip
method is used to flip the image.
import { Component,ViewChild } from '@angular/core';
import { Browser } from '@syncfusion/ej2-base';
import { ImageEditorComponent } from '@syncfusion/ej2-angular-image-editor';
@Component({
selector: 'app-root',
template: `<!-- To render Image Editor. -->
<div id="wrapperDiv" style="width:550px;height:350px;">
<ejs-imageeditor #imageEditor (created)="created()"></ejs-imageeditor>
</div>
<button class="e-btn e-primary" (click)="btnClick()">Click</button>`
})
export class AppComponent {
@ViewChild('imageEditor')
public imageEditorObj: ImageEditorComponent;
public created(): void {
if (Browser.isDevice) {
this.imageEditorObj.open('https://ej2.syncfusion.com/demos/src/image-editor/images/flower.png');
} else {
this.imageEditorObj.open('https://ej2.syncfusion.com/demos/src/image-editor/images/bridge.png');
}
}
btnClick(): void {
this.imageEditorObj.flip("Horizontal"); // Horizontal flip
}
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ImageEditorModule } from '@syncfusion/ej2-angular-image-editor';
import { AppComponent } from './app.component';
import { enableRipple } from '@syncfusion/ej2-base';
enableRipple(true);
/**
* Module
*/
@NgModule({
imports: [
BrowserModule,
ImageEditorModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module';
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);
Zoom
Magnify the image using zooming, and panning to see the hidden zones of an image. To Zoom the image can be done by either using a toolbar or the zoom
method.
In zoom
method, the image can be zoom in and zoom out. The zoom method has the following parameters.
* value - Specifies a value to be zoomed on the image.
Zoom in
To perform the Zoom in the image. In toolbar, you can clicking the Zoom In button in toolbar.
Zoom out
To perform the Zoom out the image, In toolbar, you can clicking the Zoom out button in toolbar.
Panning
To Perform the panning. Enabled or disables the panning option. In toolbar, you can clicking the Zoom in button in toolbar, then pan button enabled
In the following example, you can using the zoom
method and pan
method in the button click event.
import { Component,ViewChild } from '@angular/core';
import { Browser } from '@syncfusion/ej2-base';
import { ImageEditorComponent } from '@syncfusion/ej2-angular-image-editor';
@Component({
selector: 'app-root',
template: `<!-- To render Image Editor. -->
<div id="wrapperDiv" style="width:550px;height:350px;">
<ejs-imageeditor #imageEditor (created)="created()"></ejs-imageeditor>
</div>
<button class="e-btn e-primary" (click)="zoomInClick()">Zoom In</button>
<button class="e-btn e-primary" (click)="zoomOutClick()">Zoom Out</button>
<button class="e-btn e-primary" (click)="panClick()">Pan</button>`
})
export class AppComponent {
@ViewChild('imageEditor')
public imageEditorObj: ImageEditorComponent;
public created(): void {
if (Browser.isDevice) {
this.imageEditorObj.open('https://ej2.syncfusion.com/demos/src/image-editor/images/flower.png');
} else {
this.imageEditorObj.open('https://ej2.syncfusion.com/demos/src/image-editor/images/bridge.png');
}
}
zoomInClick(): void {
this.imageEditorObj.zoom(.1) // zoom in
}
zoomOutClick(): void {
this.imageEditorObj.zoom(-.1) // zoom out
}
panClick(): void {
this.imageEditorObj.zoom(.1) // zoom in
this.imageEditorObj.pan(true);
}
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ImageEditorModule } from '@syncfusion/ej2-angular-image-editor';
import { AppComponent } from './app.component';
import { enableRipple } from '@syncfusion/ej2-base';
enableRipple(true);
/**
* Module
*/
@NgModule({
imports: [
BrowserModule,
ImageEditorModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module';
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);