Cách tạo biểu tượng, nút bấm bóng bẩy bằng PHP GD

10/12/2013

Nghe tiêu đề có vẻ như chúng ta sẽ cần một phần mềm tạo ảnh ,để có thể tạo những biểu tượng hay nút bấm trở nên bóng bẩy . Nhưng với GD library có trong PHP, chúng ta hoàn toàn có thể làm được điều này chỉ với vài dòng code đơn giản. Qua bài viết này , các bạn cũng có thể tự tay tạo một ứng dụng nhỏ từ PHP cho website hay blog của mình.

Cách tạo biểu tượng, nút bấm bóng bẩy bằng  PHP GD

Chúng ta sẽ chuyển đổi ảnh thường trở nên bóng bẩy như sau :

Từ ảnh này Cách tạo biểu tượng, nút bấm bóng bẩy bằng  PHP GD Trở thành : Cách tạo biểu tượng, nút bấm bóng bẩy bằng  PHP GD

Để bắt đầu, chúng ta sẽ cần một hình ảnh có hiệu ứng overlay như sau :

Cách tạo biểu tượng, nút bấm bóng bẩy bằng  PHP GD

Các biểu tượng mà mình định làm sẽ có kích thước vào khoảng 100×100, nhưng kích thước của ảnh overlay sẽ có kích thước là 130×130 pixels. Sở dĩ nó to hơn so với kích thước icon là để có thể đặt icon vào nằm bên trong nó.

Sau đây là đoạn php giúp chúng ta chuyển từ ảnh thường sang ảnh bóng bẩy :

<?php
   // Load hình ảnh là biểu tượng cần chuyển
   $image = imagecreatefrompng("icon.png");

   // Load ảnh overlay
   $overlayImage = imagecreatefrompng("overlay.png");
   //imagealphablending($overlayImage, true);

   // Lấy kích thước hình ảnh
   $imageWidth=imagesx($image);
   $imageHeight=imagesy($image);

   $overlayImageWidth=imagesx($overlayImage);
   $overlayImageHeight=imagesy($overlayImage);

   imagelayereffect($overlayImage, IMG_EFFECT_OVERLAY);

    imagecopy(
        // ảnh cuối
        $overlayImage,
        // ảnh nguồn
        $image,
        //  canh giữa
         ($overlayImageWidth-$imageWidth)/2, ($overlayImageHeight-$imageHeight)/2,
        0, 0,
        $imageWidth, $imageHeight);

   // Ấn định định dạng ảnh sẽ tạo ra
   header("Content-type: image/png");
   imagePng($overlayImage);

   // Giải phóng bộ nhớ
   imageDestroy($image);
   imageDestroy($overlayImage);
?>

Thế là xong, bây giờ các bạn đã có một ứng dụng chuyển ảnh đơn giản bằng PHP, và mình cũng hy vọng qua bài viết này các bạn sẽ có thêm một kinh nghiệm về lập trình PHP.

Chúc các bạn thành công !

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !