Всем привет.
Ребят, вот я хочу вставить в форму добавления матереалов во фрейме
Обычный импут (загрузка файлов)
Нужно что бы это работало примерно так.
Я выбераю изображение, оно загружается на внешний хостинг (ну на тот где установлен сам скрипт)
Затем изображение сжимается или растягывается до размеров 316px на 316px
После сжатия, на него наносится вотермарк (только не текстовый а изобрадение) и всё, эта картинка должна сохранится, заменив обычную (ну не обработанную) Вот есть скрипт нанесения вотермарка.
Поможете сделать что бы оно ещё перед нанесением вотермарка делало изображение 316px на 316px
И после загрузки в обычный input давало прямую ссылку
Code
// Константы положения водяного знака на картинке
define ("WATERMARK_LEFT_BOTTOM",0);
define ("WATERMARK_LEFT_TOP",1);
define ("WATERMARK_RIGHT_BOTTOM",2);
define ("WATERMARK_RIGHT_TOP",3);
define ("WATERMARK_CENTER",4);
function Watermark_PNG_Image($picture, $marker, $opacity=100,
$watermark_position=WATERMARK_RIGHT_BOTTOM) {
// Проверки на наличие файлов и допустимые параметры
if (!file_exists($picture)) { return false; }
if (!file_exists($marker)) { return false; }
// Получить размеры исходного изображения
list ($sx,$sy)=GetImageSize($picture);
if ($sx==0 || $sy==0) { return false; }
// Получить размеры маркера
list ($mx,$my)=GetImageSize($marker);
if ($mx==0 || $my==0 || $sx<($mx+20) || $sy<($my+20)) { return false; }
// Если расширение маркера не .PNG, то выход с ошибкой
if (strtolower(substr($marker,-4))!=".png") { return false; }
// Если расширения нет, то выход с ошибкой
$pocket=Array();
eregi("\.([a-z]*)$",$picture,$pocket);
if ($pocket[1]=="") { return false; }
// На основании расширения создать картинку
switch (strtolower($pocket[1])) {
case "jpeg":
case "jpg": {
if (!$im=@ImageCreateFromJpeg($picture)) { return false; }
break;
}
case "gif": {
if (!$im=@ImageCreateFromGif($picture)) { return false; }
break;
}
case "png": {
if (!$im=@ImageCreateFromPng($picture)) { return false; }
break;
}
default: { return false; }
}
// Получить координаты блока на картинке для нанесения надписи
switch ($watermark_position) {
case WATERMARK_LEFT_BOTTOM: {
$pos_x=10;
$pos_y=$sy-$my-10;
break;
}
case WATERMARK_RIGHT_BOTTOM: {
$pos_x=$sx-$mx-10;
$pos_y=$sy-$my-10;
break;
}
case WATERMARK_LEFT_TOP: {
$pos_x=10;
$pos_y=10;
break;
}
case WATERMARK_RIGHT_TOP: {
$pos_x=$sx-$mx-10;
$pos_y=10;
break;
}
case WATERMARK_CENTER: {
$pos_x=intval($sx/2-$mx/2);
$pos_y=intval($sy/2-$my/2);
break;
}
default: {
imageDestroy($im);
return false;
}
}
// Нанести водяной знак с нужной прозрачностью
$watermark=@ImageCreateFromPng($marker);
ImageCopyMerge($im, $watermark, $pos_x, $pos_y, 0, 0, $mx, $my, $opacity);
ImageDestroy($watermark);
// Записать измененный файл на место
switch (strtolower($pocket[1])) {
case "jpeg":
case "jpg": {
ImageJPEG($im,$picture,90);
break;
}
case "gif": {
ImageGIF($im,$picture);
break;
}
case "png": {
ImagePNG($im,$picture);
break;
}
}
ImageDestroy($im);
return true;
}
Скрипт нашёл тут
http://www.manhunter.ru/webmaster/153_nanesenie_graficheskih_vodyanih_znakov_na_izobrazhenie.html
Если кому влом просто так маратся, готов за помощь заплатить.