Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [вопрос] php. наложение картинок. (https://forum.antichat.xyz/showthread.php?t=66375)

life_is_shit 04.04.2008 05:34

[вопрос] php. наложение картинок.
 
Товарищи ачатовцы=)
Столкнулся с задачей, которую не могу пока что решить.

Суть: Есть две картинки. Первая определенного размера (например 200*200), вторая нет (т.е. может быть как больше так и меньше первой картинки). нужно уменьшить/увеличить вторую картинку до определенного размера (например 100*100) и наложить на первую по центру.

Как это можно реализовать на php??? Очень надо помогите плз, плюсом не обижу.

scrat 04.04.2008 11:24

вот с аплоадом:
PHP код:

<?php
if(isset($_POST['go']))
{
    
$file1$_FILES['file1']['tmp_name']; # 200*200
    
$file2$_FILES['file2']['tmp_name'];
    
$image1 ImageCreateFromJPEG($file1);

    function 
resize($image$new_width$new_height$target) { # Функция ресайза картинки
        
if (file_exists($image))
        {
            
$image ImageCreateFromJPEG($image);
            
$width ImagesX($image);
            
$height ImagesY($image);
            
$thumb ImageCreateTrueColor($new_width,$new_height);
            
ImageCopyResampled($thumb$image0,0,0,0$new_width$new_height$width$height);
            
ImageJPEG($thumb$target100);
            
ImageDestroy($image);
        }
    }

    
resize($file2100100'2_resized.jpg'); # Ресайзим вторую картинку
    
$image2 ImageCreateFromJPEG('2_resized.jpg');
    
ImageCopyMerge($image1$image2ceil(ImagesX($image1)/4), ceil(ImagesY($image1)/4), 00ImagesX($image2), ImagesY($image2), 100);

    
ImageJPEG($image1'3.jpg'100); # Сохраняем готовую картинку
    
ImageDestroy($image1);
    
ImageDestroy($image2);
}
else
{
     echo 
'<form method="post" enctype="multipart/form-data">
      <input type="file" name="file1"><br> 
      <input type="file" name="file2"><br> 
      <input type="submit" name="go" value="Загрузить"><br>
      </form>'
;
}
?>


life_is_shit 04.04.2008 18:15

это то что нужно, спасибо за помощь=)

ultimatum 16.04.2008 11:11

также стоило бы добавить фильтр на расширение картинки, что на стороне сервера и на стороне клиента клиента.На стороне клиента необязательно в принципе, Например , если картинку заливают с расширением *.php, то сервер бы отфильтровал бы это и вместо отрицательново ответа написал бы , что картинка успешна загруженна. Это бы сбила бы с толку делетантов , прада не надолго. Написал бы код , да в нём не силен на столько (


Время: 17:33