ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   PHP (https://forum.antichat.io/forumdisplay.php?f=37)
-   -   Нужен скрипт для разбивки изображения (https://forum.antichat.io/showthread.php?t=123087)

ekstab 01.06.2009 08:55

Нужен скрипт для разбивки изображения
 
Т.е. даем картинку (строго только квадрат, ширина и длина равная), на выходе получаем это изображения разбитое на 16 равных квадратов (16 изображений).
Вот пример разбитой фотки
http://s54.radikal.ru/i146/0906/01/76a218a1aecft.jpg
И вообще может уже есть софт подобный ? :)

.::BARS::. 01.06.2009 10:12

есть - фотошоп называется =)))

krypt3r 01.06.2009 12:11

PHP код:

<?php                                    
  
function checkdir ($dir) {             
    if (
is_file ($dir)) {                
      
unlink ($dir);                     
    } elseif (
is_dir ($dir) && is_readable ($dir) && is_writable ($dir)) {
      
$d = opendir ($dir);                                                
      while (
FALSE !== ($f = readdir ($d))) {                             
        if (
$f == '.' || $f == '..')                                      
          continue;                                                       
        if (
is_file ("$dir/$f"))                                          
          
unlink ("$dir/$f");                                             
      }                                                                   
      
closedir ($d);                                                      
    } elseif (!
is_dir ($dir)) {                                           
      
mkdir ($dir);                                                       
    }                                                                     
  }                                                                       
                                                                          
  
$workdir = 'split_image';                                               
  
checkdir ($workdir);                                                    
  
$page = "<html><head><title>Split Image</title></head><body>";          
  
$im = imagecreatefromgif ('demon2.gif');                                
  
$x = imagesx ($im);
  
$y = imagesy ($im);
  
$max_num_x = 4;
  
$max_num_y = 4;
  
$dx = $x / $max_num_x;
  
$dy = $y / $max_num_y;
  
$cnt = 0;
  
$page .= "<table border=\"1\">";
  for (
$j = 0; $j < $max_num_y; $j++) {
    
$page .= "<tr>";
    for (
$i = 0; $i < $max_num_x; $i++) {
      
$x1 = $dx * $i;
      
$y1 = $dy * $j;
      
$im2 = imagecreatetruecolor ($dx, $dy);
      if (!
imagecopy ($im2, $im, 0, 0, $x1, $y1, $dx, $dy))
        die (
"Error");
      
imagegif ($im2, $workdir . '/' . ++$cnt . '.gif');
      
$page .= "<td><img src=\"$workdir/$cnt.gif\"></td>";
      
imagedestroy ($im2);
    }
    
$page .= "</tr>";
  }
  
imagedestroy ($im);
  
$page .= "</table></body></html>";
  echo 
$page;
?>


ekstab 01.06.2009 14:39

krypt3r Спасибо большое!!!

SL@YER 12.06.2009 22:00

А под jpg/jpeg хтот зделать может ?

FireFenix 12.06.2009 22:31

там используется imagecreatefromgif для получения изображения из файла.

используй соответствующие функции для нужного типа файла :
imagecreatefromgd2
imagecreatefromgd2part
imagecreatefromgd
imagecreatefromgif
imagecreatefromjpeg
imagecreatefrompng
imagecreatefromstring
imagecreatefromwbmp
imagecreatefromxbm
imagecreatefromxpm

Pashkela 14.06.2009 19:25

))))))))))))))) Учите хотя бы PHP, парни, я с ваших каминтцов просто рыдаю:)

Для начала осознайте хотя бы это:

http://us3.php.net/manual/en/function.unlink.php


Время: 23:11