lanjutan gd modulegd::image gd::image adalah class yang menyimpan data image dan menyediakan...

16
Lanjutan GD Module Lanjutan GD Module Dr. Taufik Fuadi Abidin, S.Si., M.Tech Jurusan Informatika FMIPA Universitas Syiah Kuala www.informatika.unsyiah.ac.id/tfa

Upload: others

Post on 23-Oct-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

  • Lanjutan GD ModuleLanjutan GD Module

    Dr. Taufik Fuadi Abidin, S.Si., M.Tech

    Jurusan InformatikaFMIPA Universitas Syiah Kuala

    www.informatika.unsyiah.ac.id/tfa

  • GD::ImageGD::ImageGD::Image adalah class yang menyimpan data image dan menyediakan fungsi-fungsi untuk memanipulasi grafik

    Menggunakan GD::Image, dua gambar dapat digabungkan, dicopy dan lain-lain

    Output berupa image (grafik), dapat disimpan dalam format PNG, JPEG

  • GD::Image ScriptGD::Image Script#!/usr/bin/perl -w

    use GD;

    my $img = new GD::Image(100,100);

    # alokasi warnamy $white = $img->colorAllocate(255,255,255);my $black = $img->colorAllocate(0,0,0);my $red = $img->colorAllocate(255,0,0);my $blue = $img->colorAllocate(0,0,255);

    # Buat transparent dan interlaced background$img->transparent($white);$img->interlaced('true');

  • GD::Image ScriptGD::Image Script$img->rectangle(0,0,99,99,$black);$img->arc(50,50,95,75,0,360,$blue);$img->fill(50,50,$red);

    # Tulis file dalam format pngopen(PIC, ">picture.png") or die("Gagal");

    # Ubah dalam bentuk binary streambinmode PIC;

    # Konversi image ke PNG dan print PIC

    print PIC $img->png;close PIC;

  • KeluaranKeluaran

  • Uraian GD::ImageUraian GD::Image

    Untuk membuat canvas, inisiasi objek dari GD::Image dan tentukan lebar dan tinggi dari canvas

    my $img = GD::Image->new(100, 100); ataumy $img = new GD::Image(100,100);

    Jika tidak berhasil maka $img akan bernilai undef

  • GD::Image ConstructorGD::Image Constructor

    Bentuk umum constructor:

    $image = GD::Image->new([$w,$h],[$truecolor])$image = GD::Image->new(*FILEHANDLE)$image = GD::Image->new($filename)

    Default jika dimensi tidak diberikan adalah 64 x 64.Parameter $truecolor, digunakan untuk membuat

    objek image dengan format truecolor yang memiliki 24 bits warna (8 bits untuk setiap RGB) atau photograph-quality. Jika tidak ditentukan maka default 8-bit warna akan digunakan.

  • Uraian GD::ImageUraian GD::Image

    Cara membuat membuat canvas juga dapat dilakukan sebagai berikut:

    open(PNG,"myimage.png") || die;

    my $img = newFromPng GD::Image(\*PNG) || die;close PNG;

    Cara lain:

    my $img = newFromPng GD::Image('myimage.png');

  • Uraian GD::ImageUraian GD::Image

    Untuk mengalokasi warna, gunakan fungsi colorAllocate() dengan parameter berupa kombinasi (r,g,b) dalam range antara 0-255. Fungsi ini akan mengembalikan nilai indeks dari warna dari colortable jika berhasil dan mengembalikan nilai -1 jika gagal.

    my $white = $img->colorAllocate(255,255,255);my $black = $img->colorAllocate(0,0,0);my $red = $img->colorAllocate(255,0,0);my $blue = $img->colorAllocate(0,0,255);

  • Uraian GD::ImageUraian GD::Image

    Untuk membuat pixel dari colorindex image menjadi transparan, fungsi transparent() dapat digunakan. Jika parameter bernilai -1 maka warna pixel menjadi tidak transparan lagi.

    $img->transparent($white);$img->interlaced('true');$img->transparent(-1);

  • Uraian GD::ImageUraian GD::Image

    Cara membuat shape hampir mirip dengan cara membuat shape saat menggunakan module GD::Simple. Perbedaannya pada GD::Simple, warna tidak merupakan bagian dari parameter, karena warna telah diatur melalui fgcolor.

    $img->rectangle(0,0,99,99,$black);$img->arc(50,50,95,75,0,360,$blue);$img->fill(50,50,$red);

  • Uraian GD::ImageUraian GD::Image

    Menulis image menjadi sebuah file dapat dilakukan seperti membuat file biasa. Gunakan fungsi openuntuk menentukan pointer ke file dan print output ke pointer file tersebut.

    open(PIC, ">picture.png") or die("Gagal");

    binmode PIC;

    # Konversi image ke PNG dan print PIC

    print PIC $img->png;close PIC;

  • setTile()setTile()

    my $wp = GD::Image newFromPng('goodluck.png') or die('Cannot open file\n');

    GD::Image->trueColor(1);

    my $image = GD::Image->new(800,600);

    $image->setTile($wallpaper);$image->filledRectangle(0,0,800,600,gdTiled);$image->rectangle(10,10,790,590, $image->

    colorAllocate(0,0,0));

  • Tulis script sederhana untuk Tulis script sederhana untuk membuat shape dan polygon membuat shape dan polygon berikut menggunakan berikut menggunakan GD::ImageGD::Image

  • Questions &

    Discussion