DIỄN ĐÀN K-LINK HÀ NAM
Xin chào tất cả các bạn đã đến với diễn đàn K-link ,K-link gửi những lời chúc tốt đẹp nhất đến toàn thể các bạn chúc các bạn thật nhiều nhiều niềm vui trong cuộc sống cũng như hiện tại !
K-link đang dần đổi màu nhờ sự đóng góp của tất cả các thành viên cũng như các bạn khán giả đóng góp .
Một lần nữa K-link gửi lời chi ân tới tất cả các thành viên và các bạn bốn phương lời chúc tốt đẹp nhất!
DIỄN ĐÀN K-LINK HÀ NAM
Xin chào tất cả các bạn đã đến với diễn đàn K-link ,K-link gửi những lời chúc tốt đẹp nhất đến toàn thể các bạn chúc các bạn thật nhiều nhiều niềm vui trong cuộc sống cũng như hiện tại !
K-link đang dần đổi màu nhờ sự đóng góp của tất cả các thành viên cũng như các bạn khán giả đóng góp .
Một lần nữa K-link gửi lời chi ân tới tất cả các thành viên và các bạn bốn phương lời chúc tốt đẹp nhất!

DIỄN ĐÀN K-LINK HÀ NAM

XIN CHÀO QUÝ KHÁCH ĐẾN VỚI K-LINK HÀ NAM
 
Trang ChínhPortalLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 HƯỚNG DẪN RESIZE ẢNH BẰNG PHP

Go down 
Tác giảThông điệp
tuanpro
Member
Member
tuanpro


Tổng số bài gửi : 23
Reputation : 3
Join date : 27/07/2012

HƯỚNG DẪN RESIZE ẢNH BẰNG PHP Empty
Bài gửiTiêu đề: HƯỚNG DẪN RESIZE ẢNH BẰNG PHP   HƯỚNG DẪN RESIZE ẢNH BẰNG PHP I_icon_minitimeTue Aug 07, 2012 10:54 pm

HƯỚNG DẪN RESIZE ẢNH BẰNG PHP Anh-dep-2
PHP Code:
Trích dẫn :
Code:
<?php

 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;
  }     
 
}
?>
Lưu nội dung trên thành file SimpleImage.php

Cách dùng Class trên:
- Ví dụ dưới đây chúng ta sẽ resize ảnh picture.jpg thành kích thước 250x400 sau đó lưu thành file picture2.jpg
PHP Code:
Code:
<?php
  include('SimpleImage.php');
  $image = new SimpleImage();
  $image->load('picture.jpg');
  $image->resize(250,400);
  $image->save('picture2.jpg');
?>
Nếu bạn muốn resize theo chiều rộng và vẫn giữ đc tỷ lệ giữa chiều rộng và chiêu cao thì tham khảo ví dụ dưới.
Ví dụ này sẽ resize chiều rộng file ảnh picture.jpg thành 250 và lưu ra file picture2.jpg
PHP Code:
Code:
<?php
  include('SimpleImage.php');
  $image = new SimpleImage();
  $image->load('picture.jpg');
  $image->resizeToWidth(250);
  $image->save('picture2.jpg');
?>
Ngoài ra, bạn có thể resize theo tỷ lệ.
Vd sau sẽ resize file ảnh giảm xuống còn 1 nửa (50%)
PHP Code:
Code:
<?php
  include('SimpleImage.php');
  $image = new SimpleImage();
  $image->load('picture.jpg');
  $image->scale(50);
  $image->save('picture2.jpg');
?>
Bạn có thể resize từ 1 file sau đó xuất ra nhiều file khác nhau. ví dụ sau sẽ resize file picture.jpg có nhiều cao 500px lưu thành file picture2.jpg và chiều cao 200px lưu thành file picture3.jpg

PHP Code:
Code:
<?php
  include('SimpleImage.php');
  $image = new SimpleImage();
  $image->load('picture.jpg');
  $image->resizeToHeight(500);
  $image->save('picture2.jpg');
  $image->resizeToHeight(200);
  $image->save('picture3.jpg');
?>
Ví dụ sau sẽ xuất thẳng xuống trình duyệt và cho trình duyệt nhận biết đây là ảnh qua header và không cần lưu thành file.
PHP Code:
Code:
<?php
  header('Content-Type: image/jpeg');
  include('SimpleImage.php');
  $image = new SimpleImage();
  $image->load('picture.jpg');
  $image->resizeToWidth(150);
  $image->output();
?>
Dưới đây là 1 ví dụ cho phép upload 1 ảnh thông qua form rồi resize ảnh thành có chiều rộng 250px rồi xuất ra trình duyệt.(Lưu ý khoảng trắng trước <?php và sau ?>)
PHP Code:
Code:
<?php
  if( isset($_POST['submit']) ) {
      header('Content-Type: image/jpeg');
      include('SimpleImage.php');
      $image = new SimpleImage();
      $image->load($_FILES['uploaded_image']['tmp_name']);
      $image->resizeToWidth(150);
      $image->output();
      exit();
  } else {
 
?>
  <form action="upload.php" method="post" enctype="multipart/form-data">
      <input type="file" name="uploaded_image" />
      <input type="submit" name="submit" value="Upload" />
  </form>
<?php
  }
?>
trang gốc đây:
Code:
http://www.white-hat-web-design.co.uk/blog/retaining-transparency-with-php-image-resizing/
Code này đc mà.
PHP Code:
Code:
<?php
  header('Content-Type: image/jpeg');
  include('SimpleImage.php');
  $image = new SimpleImage();
  $image->load($_GET['url']);
  $image->resizeToWidth(150);
  $image->output();
?>
Lưu file này thành thumbnail.php
Lưu file SimpleImage.php ngang hàng file thumbnail.php

Để tạo thumbnail thì link nó dạng sau:
Code:
Code:
http://yourdomain/thumbnail.php?url=Linkảnhbự
Về Đầu Trang Go down
 
HƯỚNG DẪN RESIZE ẢNH BẰNG PHP
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Đồng bằng, quê hương chiến đấu (Hoàng Trung Thông)
» PHẠM BĂNG BĂNG LÀM TÌNH TRONG NHÀ TẮM
» Cánh Cò Quê Hương (Tân Cổ Đặc Biệt 2) - Phi Nhung ft. Mạnh Quỳnh ft. Hương Lan
» Hải Băng Vol 1 - Hải Băng
» Cuối Đường Băng - The Runway (2012) - DVDRIP - 55/55 - Trọn bộ Xem online: Cuối Đường Băng - The Runway (2012) - DVDRIP - 55/55 - Trọn bộ Server 5, cuoi duong bang - the runway (2012) - dvdrip - 55/55 - Trọn bộ Server 5 | Phim, Xem phim online, Xem Phim

Permissions in this forum:Bạn không có quyền trả lời bài viết
DIỄN ĐÀN K-LINK HÀ NAM :: Thế Giới Cntt :: Lập trình-
Chuyển đến