Membuat Image editor dengan React JS dan Toast UI Image Editor

Membuat Image editor dengan React JS dan Toast UI Image Editor

By Reggi, 29 Dec 2022

space-1.jpg
Toast UI Image Editor with React

Bagaimana jika anda membuat sebuah platform yang mengizinkan pengguna untuk mengupload karya berbentuk gambar. tentu karya yang dikirimkan akan sangat banyak bagus. tetapi tidak semua pengguna mempunyai foto atau gambar yang bagus dan layak ditampilkan.

Baik gambar itu terlihat terlalu gelap, kurang fokus atau bahkan gambarnya terbalik? tentu hal ini akan menyita waktu jika harus menguploadnya kembali. oleh karena itu saya akan mencoba membuat sebuah image editor dengan bantuan Toast UI Image Editor. oiya, saya membuat platform ini menggunakan library React.js.

Langkah Pertama yaitu dengan membuat project react melalui CLI create-react-app

npx create-react-app photo-editor-app

Lalu Tambahkan package Toast UI Image Editor

npm i @toast-ui/react-image-editor

Diproject ini menggunakan bootsrap dan react bootstrap.

npm i bootstrap react-bootstrap

Setelah semua selesai mari kita tuliskan beberapa baris kode. import package yang telah diinstall

import React, { Component } from "react"; import { Button, Modal } from "react-bootstrap"; import ImageEditor from "@toast-ui/react-image-editor";

lalu tambahkan kode dibawah ini.

render() { const { seatmaker, selectedFiles, progressInfos, message } = this.state; const myTheme = { "common.bi.image": "https://mbtech.info/asset/img/logo/MBtech.png", "common.bisize.width": "55px", "common.bisize.height": "35px", "common.backgroundColor": "#fff", "header.display": "none",}; return ( <div className="content"> <ImageEditor ref={this.editorRef} includeUI={{loadImage: {path: imageName,name: imageName,}, theme: myTheme, menu :["filter","crop","flip","rotate","text",], initMenu: "filter",uiSize: {width: "100%",height: "650px",}, menuBarPosition: this.state.isMobile? "bottom": "left",}}, cssMaxHeight={this.state.isMobile? window.innerHeight: 500}, cssMaxWidth={this.state.isMobile? window.innerWidth - 30: 500}, selectionStyle={{borderColor: "red",cornerColor: "green",cornerSize: 6,rotatingPointOffset: 100,transparentCorners: false,}}, usageStatistics={false}/> </div>

Untuk mempelajari lebih lanjut silahkan cek link berikut : https://github.com/nhn/tui.image-editor#-documents

Proses editing gambar dapat mengambil dari sisi server atau upload gambar sendiri lalu mendownloadnya atau dapat disimpan langsung diserver, kita juga belajar bagaimana untuk menunjukkan kepada pengguna bahwa editor gambar yang benar-benar bekerja dan dapat digunakan.

Pada postingan diatas hanya ditunjukan bagaimana mengintergrasikan Toast Image Editor menggunakan React js. Bagaimana Cara menyimpan gambar dan mengambil gambar dari server akan dilajutkan pada postingan berikutnya.

Kesempatan lainnya saya akan share bagaimana membuat tampilan untuk mobile/smartphone dan mengatasi batasan itu. terima kasih