скрипт Рандомизация изображений или как сделать рисунки уникальными для ПС (JPG only!)

  • Автор темы Автор темы letr
  • Дата начала Дата начала

letr

Созидатель (II)
Сообщения
4
Реакции
0
Баллы
31
Как сделать рисунки уникальными для ПС без видимой потери качества?
Ниже представляю вам функцию на PHP для рандомизации изображений. С ней можно сгенерироваь 1000 копий одного и того же рисунка а ПС все их будут считать различными.
PHP код:

Цитата:
<?
function randomizeimage( $pathtoimg ) {

$src = imagecreatefromjpeg($pathtoimg);
$w_src = imagesx($src);
$h_src = imagesy($src);

$dt = mt_rand(5,25);
$dl = mt_rand(5,25);
$db = mt_rand(5,25);
$dr = mt_rand(5,25);
$img = imagecreatetruecolor( $w_src - $dl - $dr, $h_src - $dt - $db );
imagecopy($img, $src, 0, 0, $dl, $dt, $w_src - $dl - $dr, $h_src - $dt - $db);

$w_img1 = $w_src - $dl - $dr + ( (mt_rand(0,1)==0)?-1:1 ) * min( mt_rand(50,100), mt_rand(20,round( ($w_src - $dl - $dr)/2 ) ));
$h_img1 = round( ($h_src - $dt - $db) * $w_img1 / ($w_src - $dl - $dr) );
$img1 = imagecreatetruecolor( $w_img1, $h_img1 );
imagecopyresized($img1, $img, 0, 0, 0, 0, $w_img1, $h_img1, $w_src - $dl - $dr, $h_src - $dt - $db);

$count = mt_rand(10,30);
for( $i=0;$i<$count; $i++ ) {
imagesetpixel( $img1, mt_rand(1,$w_img1-1), mt_rand(1, $h_img1-1), imagecolorallocate($img1, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)) );
}

$name = randstr(10).'.jpg';
imagejpeg( $img1, $name );
return $name;

}
?>
Из преобразований с изображением применяются:
рандомное обрезание (crop)
рандомный ресайз
рандомное добавление шумов


P.S. Потестите плиз
 
уникальными для кого? если для поисковиков, к примеру, то такие простые методы не прокатят
 
Назад
Верх