Làm thế nào để chia Một hình ảnh vào nhiều ảnh Sử dụng PHP
Vì vậy, bạn muốn chia một hình ảnh lớn thành nhiều hình ảnh nhỏ hơn? Không có vấn đề gì. Điều này có vẻ giống như một vấn đề tối nghĩa, nhưng có nhiều lý do bạn muốn làm điều này. Có lẽ bạn muốn tạo một hình ảnh puzzle trượt . Hoặc có thể bạn đang chạy một chủ đề WordPress độc đáo . Hoặc có thể bạn muốn tạo ra một cắt dán của một số loại. Nó thực sự không quan trọng tại sao bạn muốn chia nhỏ một hình ảnh vào hình ảnh nhỏ hơn, PHP làm cho nhiệm vụ này dễ dàng. Ví dụ dưới đây chỉ đề với hình ảnh JPEG. Thay đổi chức năng để đối phó với các loại hình ảnh sẽ không được là khó.
<? Php
/ / Chức năng này sẽ chia một hình ảnh thành một số có kích thước bằng nhau và các hàng cột.
split_image chức năng ($ number_of_rows, $ number_of_cols, $ path_to_image, $ FILE_NAME) (
/ / $ Number_of_rows = # của hàng bạn muốn;
/ / $ Number_of_cols = # của cols bạn muốn
/ / $ Path_to_image = đường dẫn đến thư mục ảnh có trong, một cái gì đó như: nhà / / tên người dùng nội dung / / html / list / uploads /
/ / $ FILE_NAME = Các tên tập tin của hình ảnh: archery.jpg, vv
/ / Phân tích cú pháp đường dẫn gia hạn
$file_name); $ Info = pathinfo ($ path_to_image. $ FILE_NAME);
/ / Chắc chắn rằng chúng ta đang đối phó với một jpeg
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ if ((strtolower ($ info 'mở rộng [']) == 'jpg') | | (strtolower ($ info 'mở rộng'] [) == 'jpeg')) (
/ / Tải hình ảnh và nhận được kích thước hình ảnh
); $ Source = imagecreatefromjpeg ("($ path_to_image) ($ FILE_NAME)");
$ Width = imagesx ($ source); / / Tìm chiều rộng
$ Chiều cao = imagesy ($ source); / / Tìm chiều cao
$ Segment_width = $ chiều rộng / number_of_cols $; / / Xác định độ rộng của các phân đoạn cá nhân
$ Segment_height = $ chiều cao / number_of_rows $; / / Xác định chiều cao của các phân đoạn cá nhâncho ($ col = 0; $ col <number_of_cols; col $ $ + +)
(cho ($ hàng = 0; $ hàng <number_of_rows $; $ hàng + +)
(, $col, $row ); $ Fn = sprintf ("img 02d_%% 02d.jpg", $ col, $ hàng);
); //I print the image name here, so that the process shows itself as it runs echo ("$ fn"); / / tên tôi in hình ảnh ở đây, vì vậy mà quá trình này cho thấy chính nó như là nó chạy
$ Im = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ im, $ nguồn, 0, 0, $ col * $ segment_width, $ hàng * $ segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
$ File = "test.jpg";
/ / Lưu hình ảnh
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn if (imagejpeg ($ im, "INSERT ĐIỂM ĐẾN ĐÂY", 100)) / / Những điểm đến sẽ được cái gì như / home / c / nội dung / h / d / hình ảnh / $ fnecho ("Có được thực hiện"! <br/>);
)
)
)
)
?>








































