кто вставлял watermark, помогите вставить в вебасист

Тема в разделе "WebAsyst", создана пользователем Pal, 25 авг 2009.

Статус темы:
Закрыта.
Модераторы: mdss
  1. Pal

    Pal

    Регистр.:
    21 май 2008
    Сообщения:
    360
    Симпатии:
    12
    вот нашел програмку - ПШП скрипт (нужен именно скрипт, потому как если накладывать программой потом сам же не смогу воспользоваться картинками) а вставить не могу
    http://www.nulled.ws/attachment.php?attachmentid=12721&d=1219761305 - ImageWatermark.rar 419.2 Кб
    помогите разобраться, или может что своё предложите
    на нулледе ничего не нашел, на оф. сайте вебасиста тоже тиина, только предлагают ввести в новых версиях (1 год назад прелагали как видим до сих пор вводят), на shop-scripts.ru только програмы, парочка штук которые намертво лепят ватерварки и картинки, + ещё под хайдом 85 лежат, а я свои посты ещё туда не перенес, только запрос подал злобному_бабке
    :bc:заранее спасибо:thenks:
     
  2. Pal

    Pal

    Регистр.:
    21 май 2008
    Сообщения:
    360
    Симпатии:
    12
    дык надо скриптом, скачивание, закачивание не пойдет
     
  3. ka4okk

    ka4okk Постоялец

    Регистр.:
    8 авг 2009
    Сообщения:
    69
    Симпатии:
    4
    Пробовали вставлять через "плагины" php, а потом добавлять на страницу "функцию"?
     
  4. Pal

    Pal

    Регистр.:
    21 май 2008
    Сообщения:
    360
    Симпатии:
    12
    не пробовал, читал только про плагин который намертво крепит ватермарку и картинку, поэтому тоже отказался от этого варианта. скрипт про который писал выше нашел а вставить не знаю как.
     
  5. Pal

    Pal

    Регистр.:
    21 май 2008
    Сообщения:
    360
    Симпатии:
    12
    ну что поставил - кто нибудь?
    может тогда сложимся на фрилансера?
    написал вот такое объявление на веблансе:

    Скрипт ватермарка есть, нужно только поставить, либо может у вас свой есть?
    http://xxx.ru/published/publicdata/bonus...
    тут только на белом фоне, нужно чтобы по всей картинке можно было вставлять
    чтобы ватермарка тайлилась
    скрипт WebAsyst Shop-Script v.281

    вебасист как скрипт загрузки фотографий
    ватермарк чтоб не намертво прилепал к картинке, чтобы можно было по ФТП картинки девственные скачать (именно скрипт нужен который бы при запросе вставлял бы ватер марку)
    на оригинале обязательно, на маленьких фотках опционально
     
  6. itwork

    itwork Создатель

    Регистр.:
    30 авг 2009
    Сообщения:
    16
    Симпатии:
    11
    Попробуй данный код
    PHP:
    <? 
    waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark.png""bottom=5,right=5"); 
    function 
    waterMark($original$watermark$placement 'bottom=5,right=5'$destination null) { 
       
    $original urldecode($original);
       
    $info_o = @getImageSize($original); 
       if (!
    $info_o
             return 
    false
       
    $info_w = @getImageSize($watermark); 
       if (!
    $info_w
             return 
    false
       list (
    $vertical$horizontal) = split(','$placement,2); 
       list(
    $vertical$sy) = split('='trim($vertical),2); 
       list(
    $horizontal$sx) = split('='trim($horizontal),2); 
       switch (
    trim($vertical)) { 
          case 
    'bottom'
             
    $y $info_o[1] - $info_w[1] - (int)$sy
             break; 
          case 
    'middle'
             
    $y ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy
             break; 
          default: 
             
    $y = (int)$sy
             break; 
          } 
       switch (
    trim($horizontal)) { 
          case 
    'right'
             
    $x $info_o[0] - $info_w[0] - (int)$sx
             break; 
          case 
    'center'
             
    $x ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx
             break; 
          default: 
             
    $x = (int)$sx
             break; 
          } 
       
    header("Content-Type: ".$info_o['mime']); 
       
    $original = @imageCreateFromString(file_get_contents($original)); 
       
    $watermark = @imageCreateFromString(file_get_contents($watermark)); 
       
    $out imageCreateTrueColor($info_o[0],$info_o[1]); 
       
    imageCopy($out$original0000$info_o[0], $info_o[1]); 
       if( (
    $info_o[0] > 250) && ($info_o[1] > 250) )
       {
       
    imageCopy($out$watermark$x$y00$info_w[0], $info_w[1]);
       }
       switch (
    $info_o[2]) { 
          case 
    1
             
    imageGIF($out); 
             break; 
          case 
    2
             
    imageJPEG($out); 
             break; 
          case 
    3
             
    imagePNG($out); 
             break; 
             } 
       
    imageDestroy($out); 
       
    imageDestroy($original); 
       
    imageDestroy($watermark); 
       return 
    true
       } 
    ?>
    В корне сайта делаем папку watermark кидает туда скрипт и картинку watermark.png _watermark.php
    В папку с картинками .htaccess
    DirectoryIndex index.php
    <FilesMatch "\.(gif|jpg|png)$">
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*)$ /watermark/_watermark.php [T=application/x-httpd-php,L,QSA]
    </FilesMatch>
    Сам пока не успел попробовать скрипт,он для joomla но по идее он универсален проблема может быть только с правильным размещением .htaccess
    Источник http://joomlaforum.ru/index.php?PHPSESSID=a7fe0f73792df328ce09531b0cbca67f&topic=35335.0
     
    serzh1981, Quake_SS и Pal нравится это.
  7. MashaD52

    MashaD52 Создатель

    Регистр.:
    25 дек 2007
    Сообщения:
    31
    Симпатии:
    1
    Скрипт рабочий, я сама пользуюсь им, немного только нужно подправить, но не думаю, что это проблема, так как сама не знаю php, но разобралась за 3 минуты.
     
  8. mbumba

    mbumba

    Регистр.:
    11 апр 2007
    Сообщения:
    233
    Симпатии:
    36
    на форуме webasyst предлагается следующее решение.
    На всякий случай код приведу здесь:

    image.php:
    PHP:
    <?
    include_once(
    "cfg/connect.inc.php");
    include_once(
    "class_watermark.php");
    $watermark = new watermark();
    $id=strip_tags$_GET['id'] );
    $t=strip_tags$_GET['t'] );
    mysql_connect(DB_HOSTDB_USERDB_PASS) or die ( "Невозможно подключиться к базе данных" );
    mysql_select_db(DB_NAME) or die ( "Невозможно подключиться к таблице" );
    $r=mysql_query("SELECT * FROM ".PRODUCT_PICTURES." WHERE photoID='$id'");
    switch( 
    $t ) {
    case 
    's'$img="products_pictures/".mysql_result($r0'thumbnail'); break;
    case 
    'b'$img="products_pictures/".mysql_result($r0'enlarged'); break;
    default: 
    $img="products_pictures/".mysql_result($r0'filename'); break;
    };
    if( 
    strpos($img ".jpg")) $main_img_obj imagecreatefromjpeg$img );
    if( 
    strpos($img ".jpeg")) $main_img_obj imagecreatefromjpeg$img );
    if( 
    strpos($img ".gif")) $main_img_obj imagecreatefromgif$img );
    if( 
    strpos($img ".png")) $main_img_obj imagecreatefrompng$img );
    $watermark_img_obj imagecreatefrompng("images/watermark.png");
    $return_img_obj $watermark->create_watermark($main_img_obj$watermark_img_obj20);
    header('Content-Type: image/jpeg');
    header('Content-Disposition: inline; filename=' $_GET['src']);
    imagejpeg($return_img_obj''70);
    ?>
    class_watermark.php:
    PHP:
    <?
    class 
    watermark{
    function 
    create_watermark$main_img_obj$watermark_img_obj$alpha_level 100 ) {
    $alpha_level/= 100;
    $main_img_obj_wimagesx$main_img_obj );
    $main_img_obj_himagesy$main_img_obj );
    $watermark_img_obj_wimagesx$watermark_img_obj );
    $watermark_img_obj_himagesy$watermark_img_obj );
    $main_img_obj_min_xfloor( ( $main_img_obj_w ) - ( $watermark_img_obj_w ) );
    $main_img_obj_max_xceil( ( $main_img_obj_w ) + ( $watermark_img_obj_w ) );
    $main_img_obj_min_yfloor( ( $main_img_obj_h ) - ( $watermark_img_obj_h ) );
    $main_img_obj_max_yceil( ( $main_img_obj_h ) + ( $watermark_img_obj_h ) );
    $return_imgimagecreatetruecolor$main_img_obj_w$main_img_obj_h );
    for( 
    $y 0$y $main_img_obj_h$y++ ) {
    for( 
    $x 0$x $main_img_obj_w$x++ ) {
    $return_colorNULL;
    $watermark_x$x $main_img_obj_min_x;
    $watermark_y$y $main_img_obj_min_y;
    $main_rgb imagecolorsforindex$main_img_objimagecolorat$main_img_obj$x$y ) );
    if (
    $watermark_x >= && $watermark_x $watermark_img_obj_w &&
    $watermark_y >= && $watermark_y $watermark_img_obj_h ) {
    $watermark_rbg imagecolorsforindex$watermark_img_objimagecolorat$watermark_img_obj$watermark_x$watermark_y ) );
    $watermark_alpharound( ( ( 127 $watermark_rbg['alpha'] ) / 127 ), );
    $watermark_alpha$watermark_alpha $alpha_level;
    $avg_red$this->_get_ave_color$main_rgb['red'],$watermark_rbg['red'],$watermark_alpha );
    $avg_green$this->_get_ave_color$main_rgb['green'],$watermark_rbg['green'],$watermark_alpha );
    $avg_blue$this->_get_ave_color$main_rgb['blue'],$watermark_rbg['blue'],$watermark_alpha );
    $return_color$this->_get_image_color$return_img$avg_red$avg_green$avg_blue );
    } else {
    $return_colorimagecolorat$main_img_obj$x$y );
    }
    imagesetpixel$return_img$x$y$return_color );
    }
    }
    return 
    $return_img;
    }
    function 
    _get_ave_color$color_a$color_b$alpha_level ) {
    return 
    round( ( ( $color_a * ( $alpha_level ) ) + ( $color_b$alpha_level ) ) );
    }
    function 
    _get_image_color($im$r$g$b) {
    $c=imagecolorexact($im$r$g$b);
    if (
    $c!=-1) return $c;
    $c=imagecolorallocate($im$r$g$b);
    if (
    $c!=-1) return $c;
    return 
    imagecolorclosest($im$r$g$b);
    }

    ?>

    1. оба файла сложить в папку /published/SC/html/scripts/
    2. в html шаблоне с товаром (там где хотите наличие watermark) указать ссылку на картинку товара вида image.php?id=ид_картинки&t=размер
    3. положить watermark как /published/SC/html/scripts/images/watermark.png
     
  9. SergioPoverony

    SergioPoverony Создатель

    Регистр.:
    2 июл 2009
    Сообщения:
    27
    Симпатии:
    6
    По подробней можно, что куда вставлять...а то везде - вот тебе кусок кода...сам придумай куда вставить... и еще пару папок создать...
    Плиз
     
  10. mbumba

    mbumba

    Регистр.:
    11 апр 2007
    Сообщения:
    233
    Симпатии:
    36
    Таков интернет, здесь никто никому ничего не обязан. Не хотите приложить немного усилий и разобратся дабы сделать свой продукт лучше, платите разрабам или фрилансерам, тем кто готов тратить свое время.
    1. оба файла сложить в папку /published/SC/html/scripts/
    2. в html шаблоне с товаром (там где хотите наличие watermark) указать ссылку на картинку товара вида image.php?id=ид_картинки&t=размер
    3. положить watermark как /published/SC/html/scripts/images/watermark.png
     
Статус темы:
Закрыта.