За последние 24 часа нас посетили 17935 программистов и 1603 робота. Сейчас ищут 2118 программистов ...

imagejpeg -> показать как jpg без сохранения

Тема в разделе "Обработка изображений средствами PHP", создана пользователем deblogger, 11 июл 2013.

  1. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Недавно начал php, в лицо не пинайте. Задача типичнее некуда. Скрипт накладывает мокрый знак в виде логотипа и немедленно показывает картинку в браузере под эгидой соответствующего заголовка. За это картинка как документ превращается в скрипт php. То есть вместо обычного бла-бла-бла.jpg, при попытке сохранить появляется бла-бла-бла.php Я знаю что если вручную прописать jpg (или сохранить и переименовать) - на диске будет файл изображения. Вполне понятно что если сохранить результат на диск, то все само собой разумеется в рамках <img src>

    Вопрос такой: как вообще принято это делать при монтаже изображений на лету. Если сохранять то как потом вычищать. Если не сохранять, то как превратить полученный ресурс в файл с оригинальным именем и прочими свойствами изображения?

    Цитировать коды смысла нет, все обычно, скрипт заканчивается так:

    Код (Text):
    1.  
    2.     if($show) {
    3.         $output_file = NULL;
    4.         header('Content-Type: image/jpeg');
    5.     }
    6.  
    7.     imagejpeg($dst_image, $output_file, $qlt);
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    сохранять или нет зависит от нагрузки
     
  3. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Только сейчас заметил что рубрика дохлая.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    у тебя впрос стоит так: кешировать или нет.
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    финт ушами - попробуй давать такие ссылки: index.php/bla-bla-bla.jpg
     
  6. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
  7. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Хватит скрипеть мозгами. У меня был, естественно один заголовок для типа и все что надо было - еще один для имени файла. А именно

    header('Content-Disposition: inline; filename="' . $output_file . '"');

    Это все что мне и было нужно
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты спросил как поступают, при процессинге картинок "на лету".
    тебе и отвечали на этот вопрос:
    =)
     
  9. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Так и принято делать - озаглавливать картинку для браузера. Ну, еще можно а бейс64 и выдать потоком. То есть прямо противоположная задача.
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Похоже что ты спрашивал про кеширование.
     
  11. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Похрен. Наводку на пиво по той же формулировке мгновенно дали на другом форуме. Который сейчас в дауне.
     
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Это был сарказм, видимо.

    Не первый раз замечаю, что после дебюта типа "Недавно начал php, в лицо не пинайте." идет эндшпиль "вы бараны". Видимо автор успевает стремительно набраться опыта за 5-10 сообщений. Я считаю это блестящий показатель, PHP.RU помогает!
     
  13. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Пиндес. Ну натурально третью неделю как баксики рисую. Ваш когнитивный диссонанс успокоится если я покажу ява-скрипт какой-нибудь?
    ...
    Черт, не могу найти спойлер, а это будет оффтопик. Яваскрипт, да еще для ФШ. В общем вы поняли.

    А, вот, кстати, полезная фича для тумбиков, вчера собрал.

    $dst_w , $dst_h == ширина и высота целевой картинки.

    Код (Text):
    1.  
    2.         $dim = sqrt($dst_w * $dst_h);
    3.         switch($dim) {
    4.             case ($dim > 1200) : $q = 70; $c = 5.0; $r = -1; $o = 1;
    5.                 break;
    6.             case ($dim > 400) : $q = 80; $c = 3.0; $r = -0.25; $o = 5;
    7.                 break;
    8.             default: $q = 100; $c = 1.5; $r = -0.2; $o = 10;
    9.         }
    10.        
    11.         // sharp edges
    12.         $sharpen = array(array(0.0, $r, 0.0), array($r, $c, $r), array(0.0, $r, 0.0));
    13.         $divisor = array_sum(array_map('array_sum', $sharpen));
    14.         imageconvolution($dst_image, $sharpen, $divisor, $o);
    $q не для фильтра определяется, а для качества jpeg в дальнейшей части скрипта.

    Расчетов не ведется, значения эмпирические. Оценивал на глаз подбирая величины.

    ФШ - задница. Фильтр Other>Custom, который точная копия функции imageconvolution() работает только с целыми. Пришлось в браузер пялиться.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    опять поток сознания?

    Добавлено спустя 3 минуты 20 секунд:
    что это значит?

    любой? зачем? почему вы думаете, что у нас диссонанс от отсутствия скриптов?

    пиши так

    отнюдь. яваскрипт для фотошопа? вы о чем?
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.798
    Симпатии:
    1.331
    Адрес:
    Лень
    может он имел ввиду для онлайн фотожопа.
     
  16. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Отстали вы от жизни, похоже навсегда.
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.798
    Симпатии:
    1.331
    Адрес:
    Лень
    вот хрень всякую не неси. будь добр
     
  18. sham

    sham Активный пользователь

    С нами с:
    19 мар 2014
    Сообщения:
    54
    Симпатии:
    0
    deblogger уроки ждут ))
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    "Вот я удивляюсь, как такой мелкий пацак может быть таким меркантильным кю?"(с)

    Откуда у "недавно начал изучать" такой гонор и ЧСВ в сторону тех, кто изучает не недавно, при полном отсутствии попыток что-то выслушать или понять. Если тебе нужно не решение, а подтверждение того, что ты сам для себя решил, то тебе на форум телепатов, там на раз скажут то, что ты хочешь услышать. Подгонка результатов под ожидания без изменения первопричины измерений - заведомо путь в никуда.
     
  20. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Эм... Что ты сделал с моей головой?

    Добавлено спустя 2 минуты 34 секунды:
    sham, принципиально некрофил? Теме год =)
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Блоу, точно год.
    Пойду вымою с мылом браузер.
     
  22. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Да он расстроился за эксепшн, теперь будет бегать-гадить. Для тех кто не знал что в Адобском ФШ есть java-scripts - http://ps-scripts.com/bb/index.php Там и VB есть, но на нем не пишут, то есть пишут но в апликухах, а не текстами под интепретатор.
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Много какой софт поддерживает скриптование, это ок, когда нужна автоматизация каких-то действий или запиливание алгоритмов, коих нет в наличии.