Making a photo editor that is as least as capable as Microsoft Paint is not hard. Developers have done the hard work for building photo editor widgets for JavaScript. One example is the Toast UI Image Editor, located at https://ui.toast.com/tui-image-editor.
It is a very capable photo editor. You can style it with themes and users can apply effects that they like to their image easily. The list of features for the editor include loading images, undo and redo, crop, flip, rotate, draw, add shapes, write text, and add mask and image filters.
You can retrieve the image easily and save it to disk since the editor loads the image into a HTML canvas element.
In this article, we will build a photo editor with React using the React version of the Toast UI Image Editor. We will style it and add a download button to save the image to disk.
To start, we create the app with Create React App. Run npx create-react-app photo-editor-app
to create the project and install the packages.
Next we add our own packages to the app. We need @toast-ui/react-image-editor
, which the React version of the Toast UI Image Editor, Bootstrap and React Bootstrap for styling, React Router for routing, and Download.js for downloading the image to disk.
To do this, run npm i @toast-ui/react-image-editor bootstrap downloadjs react-bootstrap react-router-dom
. This will install all the libraries listed above.
With all the packages installed, we can start writing code. First we start with modifying App.js
. We replace the existing code with:
import React from "react";
import "./App.css";
import TopBar from "./TopBar";
import { Router, Route, Link } from "react-router-dom";
import { createBrowserHistory as createHistory } from "history";
import HomePage from "./HomePage";
const history = createHistory();
function App() {
return (
<div className="App">
<Router history={history}>
<TopBar />
<Route
path="/"
exact
component={HomePage}
/>
</Router>
</div>
);
}
export default App;
We will display the top bar which we will create and add a route to the home page so we can access it after we build it.
Next in App.css
we replace the existing code with:
.center {
text-align: center;
}
so that we can center our titles and buttons later.
Next we add a home page. Create a file called HomePage.js
in the src
folder and add the following:
import React, { useState, useEffect } from "react";
import "./HomePage.css";
import "tui-image-editor/dist/tui-image-editor.css";
import ImageEditor from "@toast-ui/react-image-editor";
import Button from "react-bootstrap/Button";
const icona = require("tui-image-editor/dist/svg/icon-a.svg");
const iconb = require("tui-image-editor/dist/svg/icon-b.svg");
const iconc = require("tui-image-editor/dist/svg/icon-c.svg");
const icond = require("tui-image-editor/dist/svg/icon-d.svg");
const download = require("downloadjs");
const myTheme = {
"menu.backgroundColor": "white",
"common.backgroundColor": "#151515",
"downloadButton.backgroundColor": "white",
"downloadButton.borderColor": "white",
"downloadButton.color": "black",
"menu.normalIcon.path": icond,
"menu.activeIcon.path": iconb,
"menu.disabledIcon.path": icona,
"menu.hoverIcon.path": iconc,
};
function HomePage() {
const [imageSrc, setImageSrc] = useState("");
const imageEditor = React.createRef();
const saveImageToDisk = () => {
const imageEditorInst = imageEditor.current.imageEditorInst;
const data = imageEditorInst.toDataURL();
if (data) {
const mimeType = data.split(";")[0];
const extension = data.split(";")[0].split("/")[1];
download(data, `image.${extension}`, mimeType);
}
};
return (
<div className="home-page">
<div className="center">
<h1>Photo Editor</h1>
<Button className='button' onClick={saveImageToDisk}>Save Image to Disk</Button>
</div>
<ImageEditor
includeUI={{
loadImage: {
path: imageSrc,
name: "image",
},
theme: myTheme,
menu: ["crop", "flip", "rotate", "draw", "shape", "text", "filter"],
initMenu: "",
uiSize: {
height: `calc(100vh - 160px)`,
},
menuBarPosition: "bottom",
}}
cssMaxHeight={window.innerHeight}
cssMaxWidth={window.innerWidth}
selectionStyle={{
cornerSize: 20,
rotatingPointOffset: 70,
}}
usageStatistics={true}
ref={imageEditor}
/>
</div>
);
}
export default HomePage;
There are a few tricks to note to get the image editor working properly. First we need to include the icons ourselves by adding:
const icona = require("tui-image-editor/dist/svg/icon-a.svg");
const iconb = require("tui-image-editor/dist/svg/icon-b.svg");
const iconc = require("tui-image-editor/dist/svg/icon-c.svg");
const icond = require("tui-image-editor/dist/svg/icon-d.svg");
This is not in the documentation so if you just follow the instructions, you won’t see the icons in the toolbar.
To change the colors of the image editor, we have:
const myTheme = {
"menu.backgroundColor": "white",
"common.backgroundColor": "#151515",
"downloadButton.backgroundColor": "white",
"downloadButton.borderColor": "white",
"downloadButton.color": "black",
"menu.normalIcon.path": icond,
"menu.activeIcon.path": iconb,
"menu.disabledIcon.path": icona,
"menu.hoverIcon.path": iconc,
};
This is fully documented in http://nhn.github.io/tui.image-editor/latest/themeConfig. The code above just changes the image editor to a black background and change the color of the download button to black with a white background.
Next we changed the size of the image editor by adding:
cssMaxHeight={window.innerHeight}
cssMaxWidth={window.innerWidth}
and we added the toolbar functionality by adding:
menu: ["crop", "flip", "rotate", "draw", "shape", "text", "filter"]
We set initMenu
to an empty string so that it won’t show any dialog when user load the image.
To let user save the image to disk, we add a button with a handler to do this. We have:
<Button className='button' onClick={saveImageToDisk}>Save Image to Disk</Button>
The saveImageToDisk
handler saves the image to disk and we get the image’s base64 text by adding:
const imageEditorInst = imageEditor.current.imageEditorInst;
const data = imageEditorInst.toDataURL();
into the saveImageToDisk
function.
Since we set the ref
prop in the ImageEditor
component by adding const imageEditor = React.createRef();
, we can get the image with those 2 lines above.
If data
is defined, then we can download the image. We add:
const mimeType = data.split(";")[0];
const extension = data.split(";")[0].split("/")[1];
download(data, `image.${extension}`, mimeType);
to get the file type and the extension of the image.
Base64 data is string that starts with some file type metadata, for example:
data:image/png;base64,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
Notice that we have data:image/png
at the beginning. That tells us that the image is in png
format, so we can extract those with:
const mimeType = data.split(";")[0];
const extension = data.split(";")[0].split("/")[1];
and pass them as arguments to the download
function.
Then create a file called HomePage.css
, and add:
.button {
margin-bottom: 10px;
}
to add some margin to the ‘Save file to disk’ button.
Next we build the top bar by creating TopBar.js
in the src
folder and add the following code:
import React from "react";
import Navbar from "react-bootstrap/Navbar";
import Nav from "react-bootstrap/Nav";
import "./TopBar.css";
import { withRouter } from "react-router-dom";
function TopBar({ location }) {
const { pathname } = location;
return (
<Navbar expand="lg" variant="dark">
<Navbar.Brand href="#home">Photo Editor App</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<Nav.Link href="/" active={pathname == "/"}>
Home
</Nav.Link>
</Nav>
</Navbar.Collapse>
</Navbar>
);
}
export default withRouter(TopBar);
The Navbar
component is provided by React Boostrap. We wrap the TopBar
component with the withRouter
function so that we get the location
prop passed in, which has the pathname
property. We use pathname
to check for the path and see if we set the active
propr of Nav.Link
to true
by seeing the path match the URL of the link.
Next create a file called TopBar.css
and add:
nav {
background-color: green!important;
}
to change the color of the Navbar
.
Finally, in index.html
, we replace the existing code with:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>Photo Editor App</title>
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
crossorigin="anonymous"
/>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
We changed the title of the app and added the Bootstrap CSS to the head
tag.