Share

Jumat, 10 Agustus 2012

PHP : Konverter Text to Image

SyarifMoklet -Sore sobat SM, hehe... soalnya sekarang (pas lagi posting) waktu sedang menunjukan pukul 14:26 WIB. Seperti yang pernah saya janjikan di posting PHP : Konverter Desimal ke Biner sekarang saya akan nge-share coding buat "Aplikasi Konverter dari Text ke Image". Ini spesial lho (buat sapa yach ?? :D hehe...) spesial soalnya ide dan coding nya Insya Allah 95% dari saya :D. Ini saya buat awalnya sih cuma buat share code tapi supaya gak mudah di copas gitu, soalnya kalo "Menulis ulang sekali samadengan belajar sekali", itu prinsip gue. Oke sekarang lanjutkan pembuatan aja ya :
Langkah Pertama : Bikin Folder kerja
  1. Buat folder dengan nama txt2img dalam document root (folder htdocs) anda
  2. Nanti file-file  kerja taruh disini ya :D
Langkah kedua  : Menyediakan Font
  1. Copy font dari komputer anda misalnya font TimesNewRoman, letaknya di C:\Windows\Fonts 
  2. Pastekan di folder kerja anda, kemudian ganti namanya menjadi : font.ttf
Langkah Ketiga : Buat script conferter text ke image
  1. Buat file berikut,
    <?php
    $f = "font.ttf";
    if(isset($_GET['text'])){
    $t =$_GET['text'];}
    else{$text ='';}
    if(isset($_GET['w'])&$_GET['w']!=''){
    $w = $_GET['w'];}
    else{$w=350;}
    $a = explode('
    ',$t);
    $t = str_replace(' ','     ',$t);
    $t = str_replace('<tab>','     ',$t);
    $h = (20*count($a))+25;
    $image = imagecreate($w,$h);
    $background = imagecolorallocate($image,255,255,255);
    $txt_col = imagecolorallocate($image,0,0,0);
    $crdt_col = imagecolorallocate($image,50,50,200);
    $insert_txt = imagettftext($image,12,0,5,17,$txt_col,$f,$t);
    $credits = imagettftext($image,10,0,5,$h-5,$crdt_col,$f,"create by : syarifmoklet45.blogspot.com"); //please don't delete this :D
    $line_col = imagecolorallocate($image,200,200,200);
    $linet_col = imagecolorallocate($image,170,170,170);
    imageline($image,0,0,$w,0,$linet_col);
    imageline($image,0,0,0,$h,$line_col);
    imageline($image,0,$h-1,$w,$h-1,$line_col);
    imageline($image,$w-1,0,$w-1,$h,$line_col);
    imagefilledellipse($image,$w-7,$h-7,2,2,$line_col);
    imagefilledellipse($image,$w-11,$h-7,2,2,$line_col);
    imagefilledellipse($image,$w-15,$h-7,2,2,$line_col);
    imagefilledellipse($image,$w-7,$h-11,2,2,$line_col);
    imagefilledellipse($image,$w-7,$h-15,2,2,$line_col);
    imagefilledellipse($image,$w-11,$h-11,2,2,$line_col);
    header("Content-Type: image/jpeg");
    imagejpeg($image);
    ?>
  2. Simpan di folder kerja anda dengan nama txt2img.php.
Langkah Keempat : Bikin form isian text nya
  1.  Script ya kurang lebih begini, silakan design sendiri:
    <form action="txt2img.php" method="get">
    <label for="text">Text Here :</label><br />
    <textarea name="text" style="width:600px;height:200px"></textarea><br />
    <label for="w">Image Width : </label><input type="text" name="w" />
    <input value="ok" type="submit" />
    <div id="ket">
    *) Tinggi gambar akan secara otomatis menyesuaikan dengan jumlah baris.<br />
    *) Untuk ganti baris jangan lupa di enter, kalo gak dienter nanti tulisan akan terus menerjang batas gambar.<br />
    *) Gunakan tag &lt;tab&gt;<strong></strong> untuk tab<br />
    *) Creator masih dalam proses belajar, jika ada kesalahan/error mohon dimaklumi, dan mohon comment<br />
    TerimaKasih, kunjungi selalu <a href="http://syarifmoklet45.blogspot.com/" target="_blank" >syarifmoklet45.blogspot.com</a>
    </div>
    </form>
    
  2. Simpan di folder dengan nama index.php.
 Langkah Terakhir : Selesai, Testing dong :D
  1. Pastikan PHP Server anda telah active, pergi ke http://localhost/txt2img anda akan mendapat tampilan seperti berikut :
  2. Setelah diisi, tekan ok akan terbentuk sebuah image JPG, lebar default adalah 350px. Setelah itu simpan gambar dan gunakan sesuai keinginan anda.
 Berikut contoh image nya :
Kelemahan : Kita harus bisa menyesuaikan lebar image dengan panjang maksimal text, kalo gak gitu text akan terpotong. Mungkin ada yang bisa membantu memperbaiki kelemahan ini, silakan comment. Terimakasih :D Salam SM (SyarifMoklet).

      1 komentar:

      nandarum Reply
      Komentar ini telah dihapus oleh pengarang.

      Posting Komentar

      Share lewat :
      Twitter Delicious Facebook Digg Stumbleupon Favorites More

       
      Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Bluehost Coupons | Modified by Syarif Moklet