Всем привет! Есть задача - обработка загруженного изображения. Фото должно засериться так, чтобы на него можно было наложить текст. Не думал, что это окажется проблематично. Т.к. сайт на Codeignite'e, я сразу решил воспользоваться image_lib: просто взять картинку, по сути которая, просто чёрная и наложить её как watermark, выставив при этом opacity = 50. Но не тут-то было... Промучавшись с экспериментами я понял, что не всё так просто. При попытке нанести однотонный watermark ничего не изменилось(
$config['source_image'] = $img_path;
$config['create_thumb'] = FALSE;
$config['wm_type'] = 'overlay';
$config['wm_opacity'] = 50;
$config['wm_overlay_path'] = $watermark_file;
$this->image_lib->initialize($config);
$this->image_lib->watermark();
Подскажите, пожалуйста, как реализовать такую фишку...
Если исходить из этой документации, то равномерно залитый черным файл для watermark вам ничего не даст, т.к. существуют следующие параметры: wm_x_transp
и wm_x_transp
со значением по умолчанию равным 4
If your watermark image is a PNG or GIF image, you may specify a color on the image to be “transparent”. This setting (along with the next) will allow you to specify that color. This works by specifying the “X” and “Y” coordinate pixel (measured from the upper left) within the image that corresponds to a pixel representative of the color you want to be transparent.
Попробуйте выставить их в 0, может модуль тогда не будет считать ваш черный цвет, как цвет прозрачности.
UPDATE
В библиотеке от CodeIgniter идёт определение и выбор способа наложения:
// Set RGB values for text and shadow
$rgba = imagecolorat($wm_img, $this->wm_x_transp, $this->wm_y_transp);
$alpha = ($rgba & 0x7F000000) >> 24;
// make a best guess as to whether we're dealing with an image with alpha transparency or no/binary transparency
if ($alpha > 0)
{
// copy the image directly, the image's alpha transparency being the sole determinant of blending
imagecopy($src_img, $wm_img, $x_axis, $y_axis, 0, 0, $wm_width, $wm_height);
}
else
{
// set our RGB value from above to be transparent and merge the images with the specified opacity
imagecolortransparent($wm_img, imagecolorat($wm_img, $this->wm_x_transp, $this->wm_y_transp));
imagecopymerge($src_img, $wm_img, $x_axis, $y_axis, 0, 0, $wm_width, $wm_height, $this->wm_opacity);
}
Исходя их этого кода единственным решением, скорее всего, будет такое:
wm_x_transp
и wm_y_transp
равным 1Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте! Передо мной стоит следующая задача: написать на C++ метод, вычисляющий НОД для 2 чисел типа int ИЛИ double(класс шаблонный)
В общем, вот в чем суть вопроса: есть файл, который я считываю и обрабатываю так, как надо по заданиюНо если в него вставить пустые строки, то выводит...
Задание - В цикле с предусловием пользователем вводятся числа до тех пор, пока их сумма не превысит 100Определить количество введенных четных...
Доброго времени сутокЕсть класс, есть менюшка для работы с классом (добавление, вывод объектов класса, удаление) Каким образом организовать...