imagefilter+ data:image/png09.05.2021 От: faq Из: Веб-строительство Dram 4 июня 2020, 16:41 365есть пример// Применение очень мягкого эффекта рассеивания к изображениюimagefilter($logo, IMG_FILTER_SCATTER, 3, 5);Как вместо logo вставить изображение <img src=»data:image/png;base64,’.base64_encode($imagedata).'»/> ?Как ни пробую, получаю Warning: imagefilter() expects parameter 1 to be resource, string given ArbNet 4 июня 2020, 16:54$logo = ImageCreateFromJpeg(‘image.png’); Sitealert 4 июня 2020, 16:55Dram:Как ни пробуюВместо $logo не пробовал вставлять imagecreatefromstring ($imagedata) ? Dram 4 июня 2020, 17:13Вроде ошибки пропали но и размытия нет. Мне в общем надо сделать частичное размытие картинки, пока вообще не получается никак размыть$num = 'test'; $image = imagecreatetruecolor(50, 40); $fon = imagecolorallocatealpha($image, 255, 255, 255, 127); imagecolortransparent($image, $fon); imagefill($image, 0, 0, $fon); $text_color = imagecolorallocate($image, 0, 0, 0); imagestring($image, 4, 0, 0, $num, $text_color); ob_start(); imagepng($image); $imagedata = ob_get_contents(); ob_end_clean(); imagefilter(imagecreatefromstring ($imagedata), IMG_FILTER_SCATTER, 1, 5); echo '<img src="data:image/png;base64,'.base64_encode($imagedata).'"/>'; Sitealert 4 июня 2020, 17:28Попробуй IMG_FILTER_GAUSSIAN_BLUR или IMG_FILTER_SELECTIVE_BLURimagefilter(imagecreatefromstring($imagedata), IMG_FILTER_SELECTIVE_BLUR);Но ты выводишь вроде как не то. Нужно выводить не $imagedata, а ресурс изображения. ArbNet 4 июня 2020, 17:31Dram, Вы доку читаете перед тем как вопросы задавать?https://www.php.net/manual/ru/function.imagefilter.phpIMG_FILTER_COLORIZE: Альфа канал, значение между 0 и 127. 0 означает непрозрачность, 127 соответствует абсолютной прозрачности. Dram 4 июня 2020, 17:39Sitealert, попробовал, без толку. Мне нужно сделать текст картинкой и его размыть. Что тогда если не $imagedata? ArbNet, вообще не понял при чем тут прозрачность? Она как-то может мешать размытию? Поставил 0 — ничего не поменялось Sitealert 4 июня 2020, 17:59$num = 'test';$image = imagecreatetruecolor(50, 40);$fon = imagecolorallocatealpha($image, 255, 255, 255, 127);imagecolortransparent($image, $fon);imagefill($image, 0, 0, $fon);$text_color = imagecolorallocate($image, 0, 0, 0);imagestring($image, 4, 0, 0, $num, $text_color);imagefilter($image, IMG_FILTER_SELECTIVE_BLUR);ob_start();imagepng($image);$imagedata = ob_get_contents();ob_end_clean();echo '<img src="data:image/png;base64,'.base64_encode($imagedata).'"/>';Проблема молотка. Aisamiery 4 июня 2020, 18:00imagefilter(imagecreatefromstring ($imagedata), IMG_FILTER_SCATTER, 1, 5);Вы применяете не там и не так. Его надо делать на ресурс, если поправить ваш код то выйдет что то типо такого:$num = ‘test’;$image = imagecreatetruecolor(50, 40);$fon = imagecolorallocatealpha($image, 255, 255, 255, 127);imagecolortransparent($image, $fon);imagefill($image, 0, 0, $fon);$text_color = imagecolorallocate($image, 0, 0, 0);imagestring($image, 4, 0, 0, $num, $text_color);imagefilter($image, IMG_FILTER_SCATTER, 1, 5);ob_start();imagepng($image);$imagedata = ob_get_contents();ob_end_clean();echo ‘<img src=»data:image/png;base64,’.base64_encode($imagedata).'»/>’; Dram 4 июня 2020, 18:04Sitealert, Aisamiery, спасибо! SocFishing 4 июня 2020, 21:03Может быть вы сделаете размытие на CSS, может быть для вывода на сайте вам нужен блур. Так и ресурсы не будут тратиться вашего сервера.https://jsfiddle.net/m2r3gz5o/ Похожие записи:Программа для записи санации объекта Добавление класса при просмотре определенного блока в слайдере Bootstrap Встроенный IoT: локальное хранилище данных (обновлено) Пользовательская реализация memcpy, где оптимизировать дальше? Вызов vi через find | xargs ломает мой терминал. Почему?
Dram
есть пример
imagefilter($logo, IMG_FILTER_SCATTER, 3, 5);
Как вместо logo вставить изображение <img src=»data:image/png;base64,’.base64_encode($imagedata).'»/> ?
Как ни пробую, получаю Warning: imagefilter() expects parameter 1 to be resource, string given
ArbNet
$logo = ImageCreateFromJpeg(‘image.png’);
Sitealert
Как ни пробую
Вместо $logo не пробовал вставлять imagecreatefromstring ($imagedata) ?
Dram
Вроде ошибки пропали но и размытия нет. Мне в общем надо сделать частичное размытие картинки, пока вообще не получается никак размыть
Sitealert
Попробуй IMG_FILTER_GAUSSIAN_BLUR или IMG_FILTER_SELECTIVE_BLUR
Но ты выводишь вроде как не то. Нужно выводить не $imagedata, а ресурс изображения.
ArbNet
Dram, Вы доку читаете перед тем как вопросы задавать?
https://www.php.net/manual/ru/function.imagefilter.php
IMG_FILTER_COLORIZE: Альфа канал, значение между 0 и 127. 0 означает непрозрачность, 127 соответствует абсолютной прозрачности.
Dram
Sitealert, попробовал, без толку. Мне нужно сделать текст картинкой и его размыть. Что тогда если не $imagedata?
ArbNet, вообще не понял при чем тут прозрачность? Она как-то может мешать размытию? Поставил 0 — ничего не поменялось
Sitealert
Проблема молотка.
Aisamiery
Вы применяете не там и не так. Его надо делать на ресурс, если поправить ваш код то выйдет что то типо такого:
$image = imagecreatetruecolor(50, 40);
$fon = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagecolortransparent($image, $fon);
imagefill($image, 0, 0, $fon);
$text_color = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 4, 0, 0, $num, $text_color);
imagefilter($image, IMG_FILTER_SCATTER, 1, 5);
ob_start();
imagepng($image);
$imagedata = ob_get_contents();
ob_end_clean();
echo ‘<img src=»data:image/png;base64,’.base64_encode($imagedata).'»/>’;
Dram
Sitealert, Aisamiery, спасибо!
SocFishing
Может быть вы сделаете размытие на CSS, может быть для вывода на сайте вам нужен блур. Так и ресурсы не будут тратиться вашего сервера.
https://jsfiddle.net/m2r3gz5o/