Gökhan ‘nın defteri

Mayıs 16, 2008

php ile grafik(resim) oluşturma

Kategori: Php — Etiketler:, , , , — gokhanaygun @ 5:19 pm

Merhabalar arkadaşlar php nin bir çok güzel özelliğinin yanında birde grafik oluşturma özelliği mevcut.
Peki ne için kullanabiliriz oluşturduğumuz grafikleri ?

  •  Forum bilgi girişlerinde güvenlik resimini oluşturmada
  •  Sitemizde istatistik veya grafiksel tablo çiziminde
  •  Matematiksel işlemleri ifade etmek için foksiyon, parabol vs. çizmek için

php 4 .. ten sonra grafik çizmek için ek bir şey yapmanıza gerek yok serverinizin  php dizininde mevcut gd grafik kütühanesi dosyaları mevcut.

Png , jpeg, wpneg dosya tiplerini destekliyor gif ‘ dosyalarınıda destekliyordu ancak lisans sorunlarından dolayı artık desteklemiyor.
Bu arada serveri c ’sürücüsüne kurduğunuz varsayıyorum
c:windows/php.ini  içinde    ;extension=php_bz2.dll   bulun  ve önündeki ;  kaldırın . Artık grafik oluşturabiliriz veya bi resim üzerinde değişiklikte yapabiliriz.

Şimdi .php sayfamızı açıyoruz tertemiz bi sayfa olması gerekiyo :)
Sayfamızda grafik çizeleceğini belirtmemiz gerekiyor en başında;

jpeg için

header("Content-type:image/jpeg")

png için

header("Content-type:image/png")

şeklinde bir tanım yapıyoruz sayfamızın en başına

Şimdi ise grafik alanını belirlemimiz gerekiyor bunuda

imagecreate(x,y)

bu şekilde oluşturuyoruz 
ve ekranda gosteriyoruz jpeg için  imagejpeg
png için imagepng ve bu bilgilerimiz  ile şimdi bi grafik oluşturalım

<?
header("Content-type:image/jpeg");
$my_img=imagecreate(100,100);
imagejpeg($my_img);
?>

Oluşan grafik
siyah grafik

///////////////////////////////////////////////////////////////
imagecolorallocate($resim_degiskeni,rgb)

rgb değeri (red,green,blue)kırmızı,yeşil ve mavi nin reng değerleridir.
her bir renk değer 0 ile 255 kadar alır ,eğer biz herhangi bir renk değeri
vermemişsek grafiğimize ,standart olarak rgb(0,0,0) yanı siyah değerini alır
örneğin

 
$red=imagecolorallocate($resim_degiskeni,255,0,0);
$green=imagecolorallocate($resim_degiskeni,0,255,0);
$blue=imagecolorallocate($resim_degiskeni,0,0,255);

 
 sizde kendi hayal gücünüz ile istediğiniz renkleri bekala oluşurabilirsiniz
 örneğin turuncuya yakın bi rengi oluşturalım

 $turuncu=imagecolorallocate($resim_degiskeni,255,200,0);

sıra güzel bir grafik  yapmakta ;
bu örneğimiz jpeg dosya formatında 200*200 boyutunda ve turunce olsunmu :)

header("Content-type:image/jpeg");
$my_img=imagecreate(200,200);
$turunce=imagecolorallocate($my_img,255,200,0);
imagejpeg($my_img);
imagedestroy($my_img);//bu fonksiyon sunucudaki resmi siler yanı sunucu boşuna yormaz .
?>;

Oluşan grafik

Turuncu grafik

imagefill(x,y,$boya_rengi) // imagefill($resim_deigkeni,100,200,$turuncu) gibi

dikdortgen çizmek için

imagefilledrectangle ( $resim_degiskeni, x1,y1,x2,y2,$renk );

elips çizmek için

imagefilledellipse($resim;degiskeni,x,y,z,v,$renk);

çizgi çizmek için

imageline ( $resim, x1,y1,x2,y2,$renk);

ve en önemlilerinden yazı yazmak, mesela form post butonun ustundeki veya yanındaki güvenlik resimleri içinçok ideal

imagestring($resim_degiskeni,x,y,z,$yazi,$renk);

tabi bu görüdklerimiz grafik olayının sadece üst kısmı yanı görünen kısmı eğer grafik hoşunuza gittiyse, çok daha ileri derecede
şeyleri , neden yapmayasınız ki mesela; bir sitenin belirli zamanlar ziyaretçi grafiği , veya güzel şekilli yazılar ,parabol çizimleri
ve daha niceleri bunun için php.net i incelemizi tavsiye ederim .

Şimdide tüm bu gördüklerimizi küçük bir uygulama ile yazalım  ve makalemizi birelim isterseniz. :)

<?
header("Content-type: image/jpeg");
$my_img =imagecreate(430,400);
$kirmizi =imagecolorallocate($my_img,00,220,0);
$koyu_mavi =imagecolorallocate($my_img, 0,0,100);
$beyaz=imagecolorallocate($my_img,255,255,255);
$sari=imagecolorallocate($my_img,150,200,0);
$dolgu=imagefill($my_img,700,500,$beyaz);
$gol=imagecolorallocate($my_img,0,0,255);
$golgeli=imagecolorallocate($my_img,0,255,0);
$dikdortgen=imagerectangle($my_img,50,200,300,100,$koyu_mavi);
$yazi1=imagestring($my_img,40,60,100,"NOktAlI VirGÜl",$beyaz);
$cati_1=imageline($my_img,190,0,51,100,$sari);
$cati_2=imageline($my_img,190,0,300,100,$sari);
for($i=190; $i<300; $i++){
$c1=imageline($my_img,190,0,$i,100,$sari);

}
for($j=51; $j<200; $j++){
$c2=imageline($my_img,190,0,$j,100,$golgeli);
}
$dd=imageline($my_img,200,200,200,20,$sari);

$pencere1=imagerectangle($my_img,55,150,100,120,$beyaz);
$pencere2=imagerectangle($my_img,230,150,280,120,$beyaz);
$pencere2=imagerectangle($my_img,200,150,150,120,$beyaz);
$kapi=imagerectangle($my_img,110,198,135,160,$beyaz);
for($art=0; $art<100; $art++){
// $basamak1=imagerectangle($my_img,135,300,10+$art,250+$eksi,$beyaz);
for($eksi=0; $eksi<100; $eksi++){
$basamak=imagerectangle($my_img,200,500+$eksi,200+$art,350,$sari);

$dsa2=imagefilledellipse($my_img,$art,400,150,50,$beyaz);

$havuz=imagefilledellipse($my_img,250,350,$eksi+50,50,$gol);

}
}
$ressam=imagestring($my_img,200,0,380,”noktalivurgul.com”,$sari);

imagejpeg($my_img);
imagedestroy($my_img);
?>

oluşan grafik

php grafik,graph

Makale burda bitmiştir.:) Çok emri vakii gibi :) ne haddime tabi :) şimdi adımım biri bu adam kendini ne sanıyo diyebilir normaldır yanı :) Her türlü olumlu, olumsuz eleştiriye açığım ,unutmamalıdır ki olumluz eleştiriler insanı daima geliştirir yeni bir şeyler öğrenmeye sevk eder, olumlu eleştiriler ise insana bir morel olur :) . Her ne kadarda eksiksik olmamasına gayret ettiysem de,mutlaka eksiklerim olacaktır bundan dolayı tüm okurlardan özür dilerim . Okuduğunuz için teşekkür ederim veya bu çekilmez yazıyı okuma gibi büyük bi fedakarlık yaptığınız için teşekkür ederim :)
Kalın Sağlıcakla

Mayıs 10, 2008

Php 6 yolda

Kategori: Php — Etiketler:, , — gokhanaygun @ 8:25 pm

Php 5 ile gelen performansın  fazlası  php 6 ile geliyor arkadaşlar, benden duymuş olmayın tabide bende bi yerden duydum .

Php deryasından bakalım 6 . sürüm neler getirecek. hep beraber görecez. Ancak php 6 ya geçişte inşallah sıkıntılarımız en az olur.

Halkımıza hayırlı uğurlu olsun diyorum :d  son olarak ayrınlarını netten bakabilirsin .

Mysql’ i sun firması aldı (iyiki aldı)

Kategori: Php — Etiketler:, , , , — gokhanaygun @ 8:21 pm

Merhabalar sonunda mysql’ ide satın alan sun firması ne kadar a aldı tam 1milyon$ .

Peki neler yapacak mysql ‘e neden mysql aldı dersiniz . Kendi fikirlerimi söylüyorum , özellikle web yazılımlarında bu kada populer olan bir veri tabanı ve açık kaynaklı , google , face book v.b büyük firmaların bunu kullanması , bence büyük etken olmuştur. İleride çok gelişmiş bir mysql karşımızda olabilir, bence olacaktırda.

Çünkü firması gerçekten java ile çok büyük bi iş başardı ,artık dünya sıralamasında java birinci sırada yer alıyor.Tabi bunu türkiye şartları için söylersek sanırım 5  veya 6 sırada olması muhtemeldir. bunun için bir araştırma yapmadım .Ancak türkiyede delphi birinci sırayı alıyor yinede halbuki dünyada java çoktan birinci sırayı almış bile.

Peki neden java dünyada birinci sırada iken türkiyede delphi birinci sırada , çünkü türkiyede özellikle yazılımlar database uygulamarı ve delphi de bunlar için bir velinimet :D   Bide ülkemiz yeni bir teknolojiye geç adapte oluyor ya işte bununda etkileri var eminin geçen bir kaç yıl aradan sonra java 1 . sırada olacak o zamanda benım bu yazımın kıymeti artacak . sonra bunu okuduğunuzda vayy bee bu adam nerden bildi diyebilirsiniz :) işin şakası bi yana  java şart . nedenmi

bunu açıklamamın sadece benı yoracağını düşünüyorum googleden neden java yazın bakalım google amca neler dicek bu konu alın okuyun ve görün .

Geçen senelerde bi prof. un  Neden java   , içerikli bi yazısını okumuştum  , kısaca zengin tecrubelerini aktarıyordu  ve javanın azizliğini anlatıyordu . sakın yanlış anlamayın ben java reklamcısı filan değilim veya anti-microsoft cu da değilim  .

Evt konu dağıldı herhalde nerden nereye . ee edebiyat başka şeye benzemez keşke zamanında öğrenseydim :)   ve bide php var  benım ilgi odağım . bence sun yakında

php ,apache ‘yede bi el atacak  ve java +php +mysql li güzel şeyler ortaya çıkarak  gerçi şimdide php ile java etkileşimli uygulamalar pek sık olmasada yazılıyor.

Ancak ben bu yolda gelecek olduğunu düşünüyorum …

Ancak söylemeden edemicem  microsoft bu halkı çok etkilemiş . Şimdi sorsan bazılarına bilgisayarı bile microsoft üretti diyecekler. Ama adamlar ülkemizde iyi toz attıyorlar . baksanıza her ilanın sonunda .net bilen  bilmen ne yapan ilanlardan geçilmiyor.  Ben php yazılımcısı olarak şaşkınım tabi :)   üniv. lerde microsoft seminerler çoğalıyor.  Halbuki asıl iş ortaya bişeyler koymakta .. İşte platformdan bağımsızım ben arkadaş her yerde çalışırım demekte ufacık alettede cep telefondada , ev bilgisauyarında .. Ama reklam çok önemli oluyor insanların nazarında nazıll . her sevdiğim diziden sonra ara giren nefret reklamlarda çıkan  x şirketi gibi..  Daha sonra  gideriz alışverişe  aaa bak x daha iyi . ulan sanki alıp kullanmış nerden bliyon kadın daha iyi olduğunu ..

Neyse verhasıl karma çorba bi yazda olsa kendimi ifade edemesem de :)   benden bu kadar ..

Mutlu , sağlıklı ve platformdan bağımsız günler dileyerek . bi çay molası veriyorum

WordPress.com'dan blog alın.