Merhaba Arkadaşlar,
Php ile upload yapip resmi resize ettirmek icin ugrasiyorum. Resize ettirmekte sorun yok ama şunu yapmak istiyorum.
6 Mb, 300 Dpi bir resim war bunu 6 farkli sekilde resize ettirmek istiyorum.
Örnek:
100*100
200*200
300*300
400*400
500*500
600*600
boyutlarinda. Ama boyut ne olursa olsun Dpi düşmesin istiyorum. Resize ettirdigim zaman dpi 96 ya düşüyor. Nasil yapilacagi konusunda fikri olan warmi. 2 gundur ugrasiyorum bir türlü çözemedim...
Simdiden cok tesekkürler...
Resim Upload
16
●1.243
- 19-06-2010, 16:25:24Üyeliği durduruldu
- 19-06-2010, 18:04:52bi ara bende kasmıştım bu olay için ama dpi ile işim olmadı
http://tr.php.net/manual/tr/ref.image.php buraya bak diyeceğim ama sen coktan bakmışssındır http://tr.php.net/manual/tr/function...opyresized.php bunuda incelemişsindir.. bir şekilde çıkarsın sen bu işin içinden
kolay gelsin kardeşim bende ömğrenmiş olcam sayende
- 19-06-2010, 18:24:28
class SimpleImage { var $image; var $image_type; function load($filename) { $image_info = getimagesize($filename); $this->image_type = $image_info[2]; if( $this->image_type == IMAGETYPE_JPEG ) { $this->image = imagecreatefromjpeg($filename); } elseif( $this->image_type == IMAGETYPE_GIF ) { $this->image = imagecreatefromgif($filename); } elseif( $this->image_type == IMAGETYPE_PNG ) { $this->image = imagecreatefrompng($filename); } } function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image,$filename,$compression); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image,$filename); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image,$filename); } if( $permissions != null) { chmod($filename,$permissions); } } function output($image_type=IMAGETYPE_JPEG) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image); } } function getWidth() { return imagesx($this->image); } function getHeight() { return imagesy($this->image); } function resizeToHeight($height) { $ratio = $height / $this->getHeight(); $width = $this->getWidth() * $ratio; $this->resize($width,$height); } function resizeToWidth($width) { $ratio = $width / $this->getWidth(); $height = $this->getheight() * $ratio; $this->resize($width,$height); } function scale($scale) { $width = $this->getWidth() * $scale/100; $height = $this->getheight() * $scale/100; $this->resize($width,$height); } function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight()); $this->image = $new_image; } function temizle($pis){ return preg_replace("/^0-9/","",$pis); } } - 19-06-2010, 19:42:46Üyeliği durdurulduilginiz icin tesekkurler ama ikiside sorunu çözmedi :SSSSSS Kafayı yemek üzereyim
- 19-06-2010, 19:44:50çözümü bulduktan sonra burada paylaş googleden gelenler hakkında iyi düşünmez yoksa bende seni bekliyorumkralmermii adlı üyeden alıntı: mesajı görüntüle
- 19-06-2010, 20:21:54Üyeliği durdurulduByTriSLaSiS adlı üyeden alıntı: mesajı görüntüle
koduy çözelimde paylasiriz abi - 19-06-2010, 22:06:01Benim bildiğim kadarıyla web standardı 72 / 96 olduğu için, bu durumu engelleyemezsiniz sanırım. Umarım bu sorun çözülür de biz de yeni birşey öğrenmiş oluruz

Edit: hocam imagick sınıfını inceledim biraz ve şöyle birşey buldum. Dilerseniz bi inceleyin: http://tr.php.net/manual/tr/function...resolution.php - 19-06-2010, 22:57:34resize yerine direk crop yapsan olmazmı direk resmin istediğin alanını crop yap çıktı yaparkende
imagejpeg("quality") degerini 100 yap ? ben test ettim bir problem yok inş işini görür kardeşim
<?php //Bytrislasis Tarafından Hazırlanmıştır... $Resmim = "Bytrislasis.jpg"; $X_Basla = 300; $Y_Basla = 250; $Width_Cropla = 500; $Height_Cropla = 500; $Orjin_Resim = imagecreatefromjpeg($Resmim); $Kesme = imagecreatetruecolor($Width_Cropla,$Height_Cropla); list($Genislik, $Yukseklik) = getimagesize($Resmim); imagecopyresampled($Kesme, $Orjin_Resim, 0, 0, $X_Basla, $Y_Basla, $Genislik, $Yukseklik, $Genislik, $Yukseklik); header("Content-type: image/jpeg"); imagejpeg($Kesme,"",100); imagedestroy($Kesme); imagedestroy($Orjin_Resim); ?>Orjinal Resim
Kesilen Resim
Kalite Mütiş
imagecopyresampled bu kod yerine bunuda dene ImageCopyResized
Denemedim Sonuc olumlu Bende ?? Küçültüncede kalite aynı cıktı
birde burayı incele
kaynak
buda Küçültülmüş hali resize
<?php //Bytrislasis Tarafından Hazırlanmıştır... $Resmim = "myfile.jpg"; $X_Basla = 900; $Y_Basla = 950; $Width_Cropla = 800; $Height_Cropla = 900; $Orjin_Resim = imagecreatefromjpeg($Resmim); $Kesme = imagecreatetruecolor($Width_Cropla,$Height_Cropla); list($Genislik, $Yukseklik) = getimagesize($Resmim); ImageCopyResized($Kesme, $Orjin_Resim, 0, 0, $X_Basla, $Y_Basla, $Genislik, $Yukseklik, $Genislik, $Yukseklik); header("Content-type: image/jpeg"); imagejpeg($Kesme,"",100); imagedestroy($Kesme); imagedestroy($Orjin_Resim); ?>evet sonuc eşit kalite bozulmuyor denedim şimdi test linklerine bak
kolay gelsin kardeşim bende ömğrenmiş olcam sayende