Muhammed Arslan ın Kişisel Sitesi
  • Anasayfa
  • Hakkımda
  • Blog
    • Film Hepsi

      Film: Cyberbully

      Temmuz 28, 2017

      Film: 12 Angry Man

      Temmuz 28, 2017

      Mükemmel Şarkılar Listesi

      Temmuz 30, 2017

      Film: Cyberbully

      Temmuz 28, 2017

      Film: 12 Angry Man

      Temmuz 28, 2017

  • Programlama
    • Php WordPress Hepsi

      Boşluk Doldurma Soruları Yapımı

      Ağustos 14, 2017

      Sayfayı Şifreleyerek Gösterme

      Ağustos 2, 2017

      Php Kodları Neden Çalışmaz?

      Temmuz 27, 2017

      Php Kayıpsız Resim Boyutlandırma

      Temmuz 26, 2017

      WordPress Metinlerde Kısayol Kullanımı

      Eylül 9, 2017

      WordPress Eklentisiz wp-login Düzenleme

      Ağustos 21, 2017

      Sms Onayı İle Sayfa Gösterme

      Temmuz 29, 2017

      2 Uygulamanın Üyelik Sistemlerini Birleştirme

      Eylül 11, 2017

      WordPress Metinlerde Kısayol Kullanımı

      Eylül 9, 2017

      Adblock Tarafından Gizlenen Nesneleri Gösterme

      Eylül 6, 2017

      WordPress Eklentisiz wp-login Düzenleme

      Ağustos 21, 2017

  • Sunucu Yönetimi
    • Centos Hepsi

      Linux Üzerinde Windows Çalıştırma

      Ağustos 19, 2017

      Centos 7 Panelsiz Sunucu Kurulumu

      Temmuz 26, 2017

      Centos 7 Uzak Masaüstü Kurulumu

      Temmuz 24, 2017

      Centos 6 Uzak Masaüstü Kurulumu

      Temmuz 24, 2017

      Linux Üzerinde Windows Çalıştırma

      Ağustos 19, 2017

      Digital Ocean Vpn Kurulumu

      Ağustos 9, 2017

      Nginx Ssl Kurulumu

      Temmuz 31, 2017

      Centos 7 Panelsiz Sunucu Kurulumu

      Temmuz 26, 2017

  • Sağdan Soldan
    • Yararlı Hepsi

      Google Adsense Tavsiyeleri

      Ağustos 5, 2017

      Amazon Cloudfront Cdn Kurulumu

      Ağustos 1, 2017

      Domain Dns Değiştirdikten Sonra Yapılabilecekler

      Temmuz 27, 2017

      En Ucuz Domain Firmaları

      Ağustos 18, 2017

      Resim Saydamlaştırma ve Png Düzenleme

      Ağustos 13, 2017

      Özel Email Adresi Alma ve Yönetme

      Ağustos 11, 2017

      Amazon Web Services’e Nasıl Kayıt Olunur?

      Ağustos 6, 2017

  • What Color is it?
  • İletisim
  • Anasayfa
  • Hakkımda
  • Blog
    • Film Hepsi

      Film: Cyberbully

      Temmuz 28, 2017

      Film: 12 Angry Man

      Temmuz 28, 2017

      Mükemmel Şarkılar Listesi

      Temmuz 30, 2017

      Film: Cyberbully

      Temmuz 28, 2017

      Film: 12 Angry Man

      Temmuz 28, 2017

  • Programlama
    • Php WordPress Hepsi

      Boşluk Doldurma Soruları Yapımı

      Ağustos 14, 2017

      Sayfayı Şifreleyerek Gösterme

      Ağustos 2, 2017

      Php Kodları Neden Çalışmaz?

      Temmuz 27, 2017

      Php Kayıpsız Resim Boyutlandırma

      Temmuz 26, 2017

      WordPress Metinlerde Kısayol Kullanımı

      Eylül 9, 2017

      WordPress Eklentisiz wp-login Düzenleme

      Ağustos 21, 2017

      Sms Onayı İle Sayfa Gösterme

      Temmuz 29, 2017

      2 Uygulamanın Üyelik Sistemlerini Birleştirme

      Eylül 11, 2017

      WordPress Metinlerde Kısayol Kullanımı

      Eylül 9, 2017

      Adblock Tarafından Gizlenen Nesneleri Gösterme

      Eylül 6, 2017

      WordPress Eklentisiz wp-login Düzenleme

      Ağustos 21, 2017

  • Sunucu Yönetimi
    • Centos Hepsi

      Linux Üzerinde Windows Çalıştırma

      Ağustos 19, 2017

      Centos 7 Panelsiz Sunucu Kurulumu

      Temmuz 26, 2017

      Centos 7 Uzak Masaüstü Kurulumu

      Temmuz 24, 2017

      Centos 6 Uzak Masaüstü Kurulumu

      Temmuz 24, 2017

      Linux Üzerinde Windows Çalıştırma

      Ağustos 19, 2017

      Digital Ocean Vpn Kurulumu

      Ağustos 9, 2017

      Nginx Ssl Kurulumu

      Temmuz 31, 2017

      Centos 7 Panelsiz Sunucu Kurulumu

      Temmuz 26, 2017

  • Sağdan Soldan
    • Yararlı Hepsi

      Google Adsense Tavsiyeleri

      Ağustos 5, 2017

      Amazon Cloudfront Cdn Kurulumu

      Ağustos 1, 2017

      Domain Dns Değiştirdikten Sonra Yapılabilecekler

      Temmuz 27, 2017

      En Ucuz Domain Firmaları

      Ağustos 18, 2017

      Resim Saydamlaştırma ve Png Düzenleme

      Ağustos 13, 2017

      Özel Email Adresi Alma ve Yönetme

      Ağustos 11, 2017

      Amazon Web Services’e Nasıl Kayıt Olunur?

      Ağustos 6, 2017

  • What Color is it?
  • İletisim

Muhammed Arslan ın Kişisel Sitesi

Webmaster Blogu

Php Kayıpsız Resim Boyutlandırma
Php

Php Kayıpsız Resim Boyutlandırma

Muhammed Arslan Temmuz 26, 2017

Merhabalar,

 

Yüklediğimiz resimlerin sitemizde güzel ve orantılı gözükmesini hepimiz isteriz. Bunun için bazen css ile resimleri boyutlandırıyoruz. Bazen ise resimleri sunucuya yüklerken boyutlandırmamız gerekiyor. Buraya kadar her şey normal, çünkü internet ortamında bulabileceğiniz onlarca kod var. Fakat çoğunda png boyutlandırırken resimlerin saydamlığı kaybolmakta. Ben ise bugün tamamen kayıpsız bir şekilde resimleri 3 farklı boyutta nasıl boyutlandırabileceğinizi anlatacağım.

Öncelikle kullanacağımız kod parçası;

 

<?
 // yüklenecek klasör
$upload_dir = "../uploads/";
 // kabul edilebilecek resim formatları
$valid_formats = array("jpg", "jpeg", "png");
// maksimum resim boyutu
 $max_size = 1048576;
// resim boyutları
 $nw = $nh = 800;
$nw1 = $nh1 = 400;
 $nw3 = $nh3 = 200;
 $nw2 = $nh2 = 100;</p>
<p>if (is_dir($upload_dir) &amp;&amp; is_writeable($upload_dir)) {
 
 if (!empty($_FILES['image'])) {
 
 $name = $_FILES['image']['name'];
 
 if ($_FILES['image']['error'] == 4) {
 $message = "Empty FIle";
 }
 if ($_FILES['image']['error'] == 0) {
 if ($_FILES['image']['size'] &gt; $max_size) {
 echo "E-Image is too large!&lt;br&gt;";
 $_SESSION['alert'] = "Image is too large!!";
 } else if (!in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)) {
 $_SESSION['alert'] = "This image is not a valid image format!!";
 echo "E-This image is not a valid image format&lt;br&gt;";
 } else if (file_exists($upload_dir . $name)) {
 $_SESSION['alert'] = "Image already exists!!";
 echo "E-Image already exists&lt;br&gt;";
 } else {
 $size = getimagesize($_FILES['image']['tmp_name']);
 $x = (int) $_POST['x'];
 $y = (int) $_POST['y'];
 $w = (int) $_POST['w'] ? $_POST['w'] : $size[0];
 $h = (int) $_POST['h'] ? $_POST['h'] : $size[1];
 
 $big_image_path = $upload_dir . "big/" . $name;
 
 $medium_image_path = $upload_dir . "medium/" . $name;
 
 $small_image_path = $upload_dir . "small/" . $name;
 
 if (!is_dir($upload_dir . "big/") &amp;&amp; !is_writeable($upload_dir . "big/")) {
 mkdir($upload_dir . "big/", 0777, false);
 }
 if (!is_dir($upload_dir . "medium/") &amp;&amp; !is_writeable($upload_dir . "medium/")) {
 mkdir($upload_dir . "medium/", 0777, false);
 }
 if (!is_dir($upload_dir . "small/") &amp;&amp; !is_writeable($upload_dir . "small/")) {
 mkdir($upload_dir . "small/", 0777, false);
 }
 
 $data = file_get_contents($_FILES["image"]["tmp_name"]);
 
 $vImg = imagecreatefromstring($data);
 
 $dstImg = imagecreatetruecolor($nw, $nh);
 imagealphablending($dstImg, false);
 $trans_colour = imagecolorallocatealpha($dstImg, 0, 0, 0, 127);
 imagefilledrectangle($dstImg, 0, 0, $w, $h, $trans_colour);
 imagesavealpha($dstImg, true);
 imagecopyresampled($dstImg, $vImg, 0, 0, $x, $y, $nw, $nh, $w, $h);
 imagepng($dstImg, $big_image_path);
 
 $dstImg1 = imagecreatetruecolor($nw1, $nh1);
 imagealphablending($dstImg1, false);
 $trans_colour1 = imagecolorallocatealpha($dstImg1, 0, 0, 0, 127);
 imagefilledrectangle($dstImg1, 0, 0, $w, $h, $trans_colour1);
 imagesavealpha($dstImg1, true);
 imagecopyresampled($dstImg1, $vImg, 0, 0, $x, $y, $nw1, $nh1, $w, $h);
 imagepng($dstImg1, $medium_image_path);
 
 $dstImg2 = imagecreatetruecolor($nw2, $nh2);
 imagealphablending($dstImg2, false);
 $trans_colour2 = imagecolorallocatealpha($dstImg2, 0, 0, 0, 127);
 imagefilledrectangle($dstImg2, 0, 0, $w, $h, $trans_colour2);
 imagesavealpha($dstImg2, true);
 imagecopyresampled($dstImg2, $vImg, 0, 0, $x, $y, $nw2, $nh2, $w, $h);
 imagepng($dstImg2, $small_image_path);</p>
<p>}
 }
 }
 } else {
 mkdir($upload_dir, 0777);
 }

 

Burada ne yapıyoruz;

Öncelikle kabul edilecek resim formatlarını belirliyoruz.  Daha sonra istediğimiz resim ölçülerini belirleyip buna göre resimlerimızı boyutlandırıyoruz. Burada sizin yapmanız gereken tek şey image name ile bir formdan dosya göndermek.


Php Kayıpsız Resim Boyutlandırma
Ort: 5 | 3 Kişi

 

0 yorum
1
Facebook Twitter Google + Pinterest
Önceki Makale
En İyi Ücretsiz Linux Kontrol Panelleri
Sonraki Makale
Centos 7 Panelsiz Sunucu Kurulumu

Bunları da Beğenebilirsin

Php Kodları Neden Çalışmaz?

Sayfayı Şifreleyerek Gösterme

Boşluk Doldurma Soruları Yapımı

Yorum Yap Yorumu Kapat

HAKKIMDA

HAKKIMDA

Muhammed Arslan

Kendimi yazılımın php ve java alanlarında gelistirmeye çalısıyorum. Aynı zamanda sunucu yönetiminden de az çok anlıyorum. En önemlisi ögrendiğim yeni seyleri sizlerle paylaşmayı seviyorum. Blogumu takipte kalırsanız sevinirim :)

Arama Kutusu

Son Makaleler

  • 2 Uygulamanın Üyelik Sistemlerini Birleştirme

    Eylül 11, 2017
  • WordPress Metinlerde Kısayol Kullanımı

    Eylül 9, 2017
  • Adblock Tarafından Gizlenen Nesneleri Gösterme

    Eylül 6, 2017
  • WordPress Eklentisiz wp-login Düzenleme

    Ağustos 21, 2017
  • Linux Üzerinde Windows Çalıştırma

    Ağustos 19, 2017

Kategoriler

  • Blog
  • Centos
  • Diğer
  • Film
  • Php
  • Programlama
  • Sunucu Yönetimi
  • Wordpress
  • Yararlı

Son Yorumlar

  • Centos 7 Uzak Masaüstü Kurulumu için Muhammed Arslan
  • Centos 7 Uzak Masaüstü Kurulumu için devrim
  • İletişim için Muhammed Arslan
  • İletişim için mert
  • Jquery Tablo Üzerinde Veri Düzenleme için Murat
  • Facebook
  • Twitter
  • Google +
  • Instagram
  • Youtube
  • Spotify

Muhammed Arslan

Tüm Haklarım Ceketimin İç Cebinde Saklıdır ve Askılık Tarafından Korunmaktadır

DMCA.com Protection Status


Yukarı Çık