Рубрика «картинки» - 3

Одержимость эффективностью рассылок: пара тестов и историй Год назад я узнал про сайт маскарадных костюмов, который забанил Яндекс. Проблема была в том, что они получали львиную долю клиентов именно из поиска, а не с улицы, поэтому ошибка сеошника могла стоить владельцам бизнеса.

Знаете, что они сделали? Они взяли свою клиентскую базу и начали делать полезную рассылку, которая позволила пережить пару месяцев без заказов. Точнее, переключила основной канал на повторные продажи.

И тут я начал экспериментировать с рассылками. Ниже – результаты.Читать полностью »

В статье Не очень честная генерация DOC файлов на PHP был описан описан способ генерации DOC файла при помощи генерации MHT (MIME HTML) используя стороннюю библиотеку. Сегодня я расскажу о своей собственной генерации в этот формат. Плюсы моего способа следующие:

1) В OpenOffice читаемый текст и картинки.
2) В Word открывается файл в электронном виде, а не на весь экран.
3) Наш скрипт будет принимать HTML и отдавать сразу DOC файл на скачивание.

Ко всему прочему, вы поймете как преобразовать голый HTML в MHT собственными руками. Ошибки если и будут, то копаться в коде будет проще.

Начнем с функции, которая отдаст DOC файл на скачивание и будет работать во всех браузерах и со всеми протоколами(у меня с этим были проблемы):

/* Отсылаем файл на закачку */

function send_download($filename, $charset = 'cp1251')
{

    header ($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');

    if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
        $UserBrowser = "Opera";
    elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
        $UserBrowser = "IE";
    else
        $UserBrowser = '';
 
    $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ?
    'application/octetstream' : 'application/octet-stream';

    header("Content-Type: application/msword; charset=".$charset);


    $ua = (isset($_SERVER['HTTP_USER_AGENT']))?$_SERVER['HTTP_USER_AGENT']:'';

    $isMSIE = preg_match('@MSIE ([0-9].[0-9]{1,2})@', $ua);
    if ($isMSIE) 
    {
        header('Content-Disposition: attachment; filename="' . $filename . '"');
	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
    } 
    else 
    {
        header('Content-Disposition: attachment; filename="' . $filename . '"');
        header('Pragma: no-cache');
    }
}

Читать полностью »

Из проекта в проект сталкивался с одной и той же проблемой, а именно изменением размера не габаритных фотографий для товаров в магазине. Да собственно и в других местах где размер позиции под фото не совпадает пропорциями с размером загружаемого фото.

Собственно в чем же беда, да в том что при разношерстном материале для заполнения зачастую на сайтах можно увидеть вот такие фотографии:

mockup_7

Читать полностью »

Сегодня в клубе Яндекс.Субботник появилось интересное видео о том, как Яндекс обрабатывает изображения для исключения дубликатов. Рассказывает Александр Крайнов: он с 2000 года занимается проектами, связанными с обработкой медиаданных. В Яндексе отвечает за проекты, в которых задействовано компьютерное «зрение».

О докладе

Легко найти дубликаты среди тысяч картинок. Сложнее – среди миллионов. И совсем трудно – среди миллиардов. Чем выше полнота работы алгоритма, тем больше проблем. Но в то же время полнота кластеризации дубликатов – это основа качества поиска изображений.

Думаю, многие не следят за этим клубом и мне кажется, что после этого видео есть над чем поразмыслить.
Всем кому интересно — прошу под кат.
Читать полностью »

Jeta.me — любимые картинки в одном месте. Бесплатный аггрегатор изображений

Здесь в Sliday.com мы наконец-то, спустя несколько месяцев разработок подошли к тому моменту, когда тайное становится явным.

Когда-то давно-давно, разорвав жёсткий цикл прокрастинации, я подумал, что жутко неудобно выбирать интересные изображения из появляющихся каждый день на любимых сайтах и в RSS-ридере.

Читать полностью »

В Visual C++ нет нормального стандартного способа отображения произвольных изображений на форме. Конечно, можно воспользоваться Picture Control, но изображение в нем можно установить только из ресурсов (насколько я помню), отсутствует возможность масштабирования, и нет поддержки скролбаров, если изображение выходит за границы контрола. Эти задачи и были реализованы в Image Control (часть кода была заимствована из другого контрола, но к сожалению источник уже затерялся, так как делал я это давно).

Называется класс CImageViewer, и наследуется он от CWnd. Изображение, отображаемое в контроле, хранится в члене класса m_image с типом CImage. Это позволит нам отображать изображения большинства популярных форматов. Основные методы класса:

— Установка изображения: void SetImage(CImage *image);
— Увеличить: void ZoomIn();
— Уменьшить: void ZoomOut();

Остальные методы и члена класса являются служебными.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js