Crop Image Menggunakan jquery jcrop + PHP

dokumen-dokumen yang mirip
Convert Foto Resolusi Tinggi dan Ukuran Besar (MB) Tanpa Mengurangi Ukuran Resolusi (PX) dengan PHP

Upload Gambar Dengan Teknik Resize Resolution

Simple Watermarking Gambar dengan PHP

AJAX dengan jquery Part 1

Upload File dengan Metode AJAX

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

AJAX dengan jquery Part 3

Membuat Responsive dan Fleksibel Image Gallery dengan JQuery Fleximage

buat Lightbox mu sendiri dengan jquery

MODUL 1 PENGENALAN HTML

A. Tujuan B. Dasar Teori 1. Pemrosesan Form 2. Konsep Penggunaan Tag <form> pada HTML

SMH2D3 Web Programming. 7 BAB V PHP SESSION & COOKIES. H a l IDENTITAS. Kajian Teknik pemrograman menggunakan PHP

Pemrograman Web Berbasis Framework. Pertemuan 5 : Konsep MVC : View. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Kapita Selekta (KBKI82127, 2 sks) Materi : Penanganan Form

Pemrograman Web DASAR HTML 2

PENGENALAN HTML - 2. Anda bisa menambahkan beberapa cell (kolom) untuk membuat satu baris cell (kolom).

PENGANTAR KOMPUTER DAN TI 2C PERTEMUAN 6 FORM & INPUT HTML

HTML FORM. Praktikum III

Desain Web. MODUL 2 Desain Form

Pemrograman Web Week 2. Team Teaching

Review Pemrograman Web I

HTML. ( HyperText Markup Language) Pertemuan 2 Oleh : Nufan Balafif. Mata Kuliah : Pemrograman Berbasis Web

MODUL GET DAN POST

Membuat Sistem Pertemanan Sederhana

MODUL 5 GET & POST Pemograman Web Teknik Informatika Universitas Pasundan Bandung 2016/2017

PHP File Upload.

AJAX dengan jquery Part 4

Syntax HTML. Biasanya digunakan untuk menulis komentar, tidak akan timbul dihalaman web.

AJAX Framework. Pemrograman Web 1. Genap

HTML (HyperText Markup Language)

Pengenalan Perancangan Web 2017

MODUL 11 MEMBUAT LOGIN USER

Pemrograman Web. Page 188

Langkah Cara Membuat Form Login Menggunakan PHP dan MySQL Langkah 1: Membuat Tabel MySQL User/Pengguna

Lampiran 1. Flowchart perancangan sistem

MODUL 3 INTERNET PROGRAMMING : PHP 3

Membuat Plugin Wordpress Sederhana

INTRO PHP FORM PHPMYADMIN input update delete TEMPLATE SEDERHANA

MODUL 8 Insert, Update, & delete

10/04/2014. Oleh: Fiftin Noviyanto, S.T., M.Cs. Form Server Side Scripting

Tutorial Mengedit Halaman HTML dengan Dreamweaver

Menampilkan Images, Audio, Video, dan Membuat Tabel

BAB-12 MEMBUAT FORM HTML

Atribut ACTION tempat menspesifikasikan URL yang akan digunakan sebagai pemroses field input form.

Modul 5. Membuat Formulir Pada Template. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

MODUL PRAKTIKUM PEMROGRAMAN WEB

Membuat Chatbox Sederhana dengan Ajax jquery dan PHP PDO

Modul-5 GET & POST. Pemograman Web TEKNIK INFORMATIKA UNIVERSITAS PASUNDAN BANDUNG

BAB IV HASIL DAN UJI COBA

Membuat Form Dinamis dengan HTML & Javascript.

Web Programming. Elfan Nofiari. IF-ITB/EN/Mar-05 IF3292 Web Programming. Page 1

Membuat dan Menampilkan QR Code secara Dinamis dengan PHP

DAFTAR ISI. Studi Format Audio dan Text untuk Modul Speech to Text Elizabeth Irenne Yuwono, Tony Antonio... 11

MODUL 7. Pengantar jquery

PRAKTIKUM. Rekayasa Web. Modul 6: WEB API. Laboratorium Teknik Informatika. Universitas Pasundan

BAB IX COOKIE DAN SESSION

Membuat Form Mahasiswa dengan HTML [Part 1]

Image Slider 3D. Oleh: Anthonius

Mesin Pencari Profile Blogger Dengan Metode Crawling

STMIK DIKTAT SINGKAT MACROMEDIA DREAMWEAVER 8 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER TASIKMALAYA.

AJAX dengan jquery Part 2

MODUL 13 INTERKONEKSI CLIENT-SERVER JQUERY

TUTORIAL PHP MYSQL Langkah Tepat menjadi Web Developer Handal, menguasai PHP dan MySQL, jalan terbaik membuat website dan aplikasi berbasis web

Mahasiswa memahami Pengertian, fungsi, aplikasi untuk menjalankan JavaScript, cara menjalankan kode, cara memasukkan kode JavaScript ke dalam HTML

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

Tag dasar yang akan kita gunakan untuk membuat form di HTML adalah tag form, input, textarea, select dan option.

LAMPIRAN. Lampiran 1 Wawancara dengan Bapak Thoriq Rachmat selaku Manager IT di PT. 1. Apakah perusahaan saat ini membutuhkan sistem server yang baru?

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Image dan Link

Prak. E-Bussiness & E-Commerce HTML. (HyperText Markup Language) RAHMADY LIYANTANTO liyantanto.wordpress.com

RIO ANDRIYAT KRISDIAWAN, M.KOM

P - 6 Bab 4 : HTML (Hypertext Markup Language)

C. Ms Powerpoint D. Notepad E. Ms Acces

Form Input HTML dan Frame. Siti Maesyaroh. M.Kom.

MODUL PEMOGRAMAN WEB I STMIK IM BANDUNG MODUL PEMOGRAMAN WEB I. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Tutorial jquery Ajax Bagian 2 (Input, Update, Delete, Animasi Loading)

Tutorial CakePHP Dasar Part IV - Searching

Metode Penulisan Dasar CSS

Pertemuan Ke-5 Client Side Scripting (JavaScript) S1 Teknik Informatika - Unijoyo 1

Web Programming (WP) Step 2 [ HTML & PHP BASIC]

BAB IV HASIL DAN PEMBAHASAN

Pemrograman Web PRAKTIKUM 6. Query Data 2. TUJUAN BELAJAR Mahasiswa dapat menggunakan PHP dan MySQL untuk mengupdate data

LAPORAN PRAKTIKUM TEKNOLOGI FRAMEWORK PERTEMUAN KE 1

Membuat Scrollspy Dengan Bootstrap

BAB 2 TINJAUAN TEORI

P - 11 Bab 8 : PHP & HTML (Manipulasi Form)

TAG HTML LANJUT Tujuan Instruksional :

Langkah 1 Struktur Folder. Langkah 2 Database. Detil Tutorial

MODUL III MEMBUAT FORM DAN HALAMAN WEB DENGAN FRAME

Solusi Thumbnails Pintar untuk Blog Wordpress dengan Paket Hosting Hemat

MODUL 11 PHP&MYSQL UPDATE & SEARCHING

Perancangan & Pemprograman WEB. Pertemuan 4 Materi Formulir &Latihan HTML

Objek Bergoyang CSS3

HTML. Hypertext Markup Language. Pemrograman Web 1. Genap

Modul-7 CRUD & Searching. Pemograman Web TEKNIK INFORMATIKA UNIVERSITAS PASUNDAN BANDUNG

Muhammad Zen Samsono Hadi, ST. MSc.

Membuat Halaman Admin Untuk Web Buatan Sendiri

Cara Membuat website dengan Dreamweaver

[FORM AND FRAME] PEMROGRAMAN WEB MODUL [ O L E H : Y U N I T A P R A S T Y N I N G S I H, S. K O M ]


Transkripsi:

Crop Image Menggunakan jquery jcrop + PHP Oleh: Agung Sucipto Assalamualaikum sobat jagocoding.com... kalo lagi free kerjaan baru bisa nulis lagi, kali ini saya akan membuat tutorial yang masih ada hubungannya dengan image processing yaitu crop image / gambar menggunakan jquery jcrop dan Php. Baik langsung aja kita mulai. ada beberapa skenario yang akan kita lakukan, yaitu... Assalamualaikum sobat jagocoding.com... kalo lagi free kerjaan baru bisa nulis lagi, kali ini saya akan membuat tutorial yang masih ada hubungannya dengan image processing yaitu crop image / gambar menggunakan jquery jcrop dan Php. Baik langsung aja kita mulai. ada beberapa skenario yang akan kita lakukan, yaitu : 1. Menyiapkan Library jquery jcrop 2. Menyiapkan Image / Gambar contoh yang akan kita crop 3. menyiapkan interface untuk melakukan seleksi area croping 4. membuat processing php untuk output hasil crop. langsung saja kita mulai langkah-langkah dan penjelasannya :). siapkan direktory khusus project ini ya : /crop-image/ -jcrop (library jquery + jcrop ) -upload/ -index.php -proses.php -foto.jpg ( Gambar contoh yang akan di crop, ane males upload lagi :) ) kita mulai dari : index.php <html> <head> <script src="jcrop/jquery.min.js"></script> <script src="jcrop/jquery.jcrop.js"></script>

<link rel="stylesheet" href="jcrop/jquery.jcrop.css" type="text/css" /> </head> <body>... </body> </html> kita memanggil core dari jquery dan library jcrop serta style dari jcrop nya, lalu kita akan membuat tampilan gambar dan form. FOrm disini digunakan untuk mengirimkan koordinat hasil jquery crop agar dapat diproses oleh PHP. <html> <head> <script src="jcrop/jquery.min.js"></script> <script src="jcrop/jquery.jcrop.js"></script> <link rel="stylesheet" href="jcrop/jquery.jcrop.css" type="text/css" /> </head> <body> <form action="proses.php" method="post"> <center> <img src="agung sucipto.jpg" id="cropbox"/> </center> <input type="hidden" id="x" name="x" /> <input type="hidden" id="y" name="y" /> <input type="hidden" id="w" name="w" /> <input type="hidden" id="h" name="h" /> <input type="hidden" name="source" value="agung sucipto.jpg"/> <br/> <center> <p>potong Gambar sesuai ukuran yang dibutuhkan, Lalu Klik Crop & Selesai</p> <span class="input-group-btn"> <button type="submit" id="act" disabled="disabled" name="crop"><i class="icon-crop"></i> Crop & Selesai</button> </center> </span> </form> </body> </html> dari kode diatas, saya menampilkan image menggunakan tag <img/> dengan src adalah contoh foto saya sendiri yaitu agung sucipto.jpg Catatan!!!

Tag <img/> tidak boleh diberi property width dan height. hal ini bertujuan agar jquery jcrop dapat membaca ukuran dimensi asli dari image data form diatas akan dikirimkan ke proses.php. dan di dalam form ada beberapa inputan dengan type hidden, ini bertujuan untuk sebagai parameter POST yang akan dikirim ke proses.php <input <input <input <input type="hidden" type="hidden" type="hidden" type="hidden" id="x" id="y" id="w" id="h" name="x" name="y" name="w" name="h" /> /> /> /> jadi inputan dengan type hidden itu akan diisi valuenya menggunakan jquery melalui id masing-masing inputan. ID(#) x untuk koordinat x ID(#) y untuk koordinat y ID(#) w untuk lebar (width) ID(#) h untuk tinggi (height) sampai proses ini yang akan terlihat hanya seperti ini. masih belum memiliki fitur select area crop. okke kita akan lanjutkan dengan penambahan scrip Jquerynya. taruh kode dibawah didalam tag <head> <script type="text/javascript"> $(function(){ $("#cropbox").jcrop({ aspectratio: 200/300,

onselect: updatecoords, minsize:[200,300] }); }); function updatecoords(c) { $("#x").val(c.x); $("#y").val(c.y); $("#w").val(c.w); $("#h").val(c.h); $("#act").removeattr("disabled"); }; </script> akan saya jelaskan maksud kode diatas $(function(){ $("#cropbox").jcrop({ aspectratio: 200/300, onselect: updatecoords, minsize:[200,300] }); }); diatas kita memiliki element img <img src="agung sucipto.jpg" id="cropbox"/> dengan id cropbox, jadi agar element img tersebut dapat diproses oleh jqueryjcrop maka di inisialisasikan bawhwa element img dengan id cropbox akan menggunakan jquery jcrop. untuk parameter didalam jcrop sebagai berikut : aspectratio: 200/300, ( di gunakan untuk rasio crop area seperti perbandinngan 4:3 / 16:9 tapi untuk aspecratio ini dapat menggunakan satuan px jadi 200/300 adalah ukuran dimensi dalam px) onselect: updatecoords, (jadi ini nih yang akan mengupdatekoordinat ke form yang telah kita siapkan tadi) minsize:[200,300] ( ini untuk memberikan crop area terkecil, jadi kita bisa custom dalam satuan px) Berikutnya fungsi untuk updatecoords : function updatecoords(c) { $("#x").val(c.x); $("#y").val(c.y); $("#w").val(c.w);

$("#h").val(c.h); $("#act").removeattr("disabled"); }; nah dari fungsi awal di jcrop akan memanggil fungsi ini, di fungsi ini hanya melakukan update value pada inputan dengan typr hidden dengan id yang sudah saya jelaskan tadi. terus ada tambahan untuk,meremove disable tombol sumbit form. sampai disini sudah kelihatan hasil kerja kita. kalo mau melihat apakah jquery nya berjalan apa tidak, coba saja arahkan cursor ke gambar, kalo cursor berubah jadi crop maka jquery berjalan. dari sisi client kita sudah selesai, selanjutnya dari sisi Server proses.php <?php function crop($width,$height,$quality,$dir,$post,$new_name,$x,$y,$w,$h) { $targ_w = $width; $targ_h = $height; $jpeg_quality = $quality; $src = $_POST[''.$post.'']; $img_r = imagecreatefromjpeg($src); $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );

$info=pathinfo($src); $name=$new_name.".$info[extension]"; $new=$dir.$name; imagecopyresampled($dst_r,$img_r,0,0,$x,$y, $targ_w,$targ_h,$w,$h); imagejpeg($dst_r,$new,$jpeg_quality); } if(isset($_post['crop'])){ $width=200; $height=300; $quality=50; $post='source'; $dir="upload/"; $info=pathinfo($dir.$_post['source']); $new_name='crop_'.time(); $x=$_post['x']; $y=$_post['y']; $w=$_post['w']; $h=$_post['h']; crop($width,$height,$quality,$dir,$post,$new_name,$x,$y,$w,$h); echo'<img src="'.$dir.$new_name.".$info[extension]".'"/>'; }?> saya akan menjelaskan satu persatu, check it out :) function crop($width,$height,$quality,$dir,$post,$new_name,$x,$y,$w,$h) { $targ_w = $width; $targ_h = $height; $jpeg_quality = $quality; $src = $_POST[''.$post.'']; $img_r = imagecreatefromjpeg($src); $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); $info=pathinfo($src); $name=$new_name.".$info[extension]"; $new=$dir.$name; imagecopyresampled($dst_r,$img_r,0,0,$x,$y, $targ_w,$targ_h,$w,$h); imagejpeg($dst_r,$new,$jpeg_quality); } diatas adalah fungsi dengan nama crop yang memiliki10 parameter yaitu 1. 2. 3. 4. $width yaitu ukuran lebar output gambar yang diinginkan $height yaitu ukuran tinggioutput gambar yang diinginkan $quality yaitu input dengan 0-100 untuk menentukan kualitas output gambar $dir merupakan folder penyimpanan hasil croping

5. 6. 7. 8. 9. 10. $post itu name dari gambar asli yang akan di crop (source) $new_name nama baru gambar hasil crop $x koordinat x dari form $y koordinat y dari form $w lebar gambar dari form $h tinggi gambar dari form penjelasan script $img_r = imagecreatefromjpeg($src); kita akan menyalin dan mngcreate agung sucipto.jpg ke memory php agar kita dapat mengolah gambar $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); kemudian diberi setting dengan lebar dan tinggi yang sudah ditentukan $info=pathinfo($src); mengambil informasi detail dari gambar $name=$new_name.".$info[extension]"; membuat nama baru hasil crop beserta extension aslinya $new=$dir.$name; imagecopyresampled($dst_r,$img_r,0,0,$x,$y, $targ_w,$targ_h,$w,$h); imagejpeg($dst_r,$new,$jpeg_quality); disinilah gambar agung sucipto.jpg tadi diproses dengan koordinat x dan y yang sudah dipilih menggunakanjcrop. berikutnya proses saat data dikirim memalui form if(isset($_post['crop'])){ $width=200; $height=300; $quality=50; $post='source'; $dir="upload/"; $info=pathinfo($dir.$_post['source']); $new_name='crop_'.time(); $x=$_post['x']; $y=$_post['y']; $w=$_post['w'];

$h=$_post['h']; crop($width,$height,$quality,$dir,$post,$new_name,$x,$y,$w,$h); echo'<img src="'.$dir.$new_name.".$info[extension]".'"/>'; } jika terdapat kiriman $_POST dengan name crop maka lakukan proses berikut (cara baca if nya : ) ) kita tangkap semua kiriman dari post dan kita simpan kedalam variable dan panggil deh fungsi crop nya. jadi deh. dan outputnya sebagai berikut ni. simple banget bukan? Quote "You can make powerfull script if you know that". Sampai jumpa dilain kesempatan, mau ngelanjutin project dlu. Assalamualaikum... Tentang Penulis

Agung Sucipto

Saya adalah alumni UIN SUSKA RIAU yang sangat gemar dan akrab sekali dengan web programming, bisa dikatakan walau koding itu rumit, tapi itulah passion saya