Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP: Фреймворки

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
#1

Наложение на изображение маски - PHP

08.08.2013, 19:12. Просмотров 1170. Ответов 4
Метки нет (Все метки)

Подскажите, пожалуйста как организовать наложение макси на изображение, чтобы срезать края, пример на рисунке.
Юзаю yii
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2013, 19:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наложение на изображение маски (PHP):

Наложение информации на изображение - PHP
На странице http://kithyip.com/get_code/lid/6/ вы можете увидеть небольшое изображение под надписью: "Get Monitoring Image Code" На...

Наложение водяного знака (ошибка) - PHP
В чём ошибка ? http://electron-x.ru/img/ тут картинки и водяной знак http://electron-x.ru/ тут сам скрипт Взял этот скрипт:...

Наложение маски на регистр AX - Assembler
Нужно наложить маску на регистр и просмотреть в дебаггере изменения и записать их(часть лабы). Но, после компилирования/просмотре ничего...

Задача на наложение маски - Assembler
Добрый вечер! Пишу я вам от полной безысходности! Начал изучение ассемблера не давно, поэтому многого не знаю. Прошу помочь с написанием...

Наложение битовой маски на перменную - PHP
Добрый день! В С++ возможно накладывать маски на переменые, т.е. i&=0xff; т.е. переменная i никогда не выйдет за пределы 0xff. А...

Наложение маски подсети на адрес с целью найти сеть - Delphi
Здравствуйте! Очень нужна ваша помощь. У меня такая задача. Вводится адрес подсети в 10СС,и маска, тоже в 10СС. Нужно наложить маску, чтобы...

4
KOPOJI
08.08.2013, 20:07
  #2

Не по теме:

Цитата Сообщение от ZAYEC77 Посмотреть сообщение
Юзаю yii
а в чем отличие наложение маски при использовании фреймворка от наложения маски без использования фреймворка?

0
ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
08.08.2013, 23:33  [ТС] #3
Цитата Сообщение от KOPOJI Посмотреть сообщение
а в чем отличие наложение маски при использовании фреймворка от наложения маски без использования фреймворка?
может есть какое расширение специально на Yii, но стандартный php мне тоже подойдет
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
09.08.2013, 00:11 #4
На стандартных расширениях пыха(GD), насколько я знаю, такого нет (имеется в виду закругленные "срезы" по краям). Конечно, можно поизгаляться с imagefillelipse + imagecolortransparent, или нечто подобное, но тут есть риск убрать и другие цвета в другом месте изображения. Можно создать дополнительный, третий файл-рисунок, и его копировать - но тут надо точно подгонять цвета по пикселям, т.к. imagecopyresampled и т.п. копируют только прямоугольником. В уии этого тем более, задача специфическая, не думаю, что она понадобилась кому-то настолько, чтобы писать для этого расширение..
Единственное, что возможно - это посмотреть в сторону сторонних расширений (ну или почти сторонних), наподобие Imagick, там должно быть такое.
В общем случае, наверное, задачу нужно разбить на две части:
1 "Срезать" углы у первой картинки
2 Копировать на подложку полученную "срезанную" картинку

К сожалению, сейчас нет особо времени, чтобы попробовать что-то наваять..
1
ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
10.08.2013, 11:40  [ТС] #5
Сделала изображение-маску, и вот код на GD:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    public function makeMask()
    {
        $path = $this->ImageDirPath() . $this->id . $this->image;
        $mask = imagecreatefrompng( "images/mask.png" );
        $source = imagecreatefromjpeg( "images/" . get_class($this) . "/" . $this->id . $this->image);
        self::imagealphamask( $source, $mask );
        imagepng($source, "images/" . get_class($this) . "/" . $this->id . $this->image . '.png');
    }
    protected static function  imagealphamask( &$picture, $mask )
    {
        $xSize = imagesx( $picture );
        $ySize = imagesy( $picture );
        $newPicture = imagecreatetruecolor( $xSize, $ySize );
        imagesavealpha( $newPicture, true );
        imagefill( $newPicture, 0, 0, imagecolorallocatealpha( $newPicture, 0, 0, 0, 127 ) );
 
        if( $xSize != imagesx( $mask ) || $ySize != imagesy( $mask ) ) {
            $tempPic = imagecreatetruecolor( $xSize, $ySize );
            imagecopyresampled( $tempPic, $mask, 0, 0, 0, 0, $xSize, $ySize, imagesx( $mask ), imagesy( $mask ) );
            imagedestroy( $mask );
            $mask = $tempPic;
        }
 
        for( $x = 0; $x < $xSize; $x++ ) {
            for( $y = 0; $y < $ySize; $y++ ) {
                $alpha = imagecolorsforindex( $mask, imagecolorat( $mask, $x, $y ) );
                $alpha = 127 - floor( $alpha[ 'red' ] / 2 );
                $color = imagecolorsforindex( $picture, imagecolorat( $picture, $x, $y ) );
                imagesetpixel( $newPicture, $x, $y, imagecolorallocatealpha( $newPicture, $color[ 'red' ], $color[ 'green' ], $color[ 'blue' ], $alpha ) );
            }
        }
 
        imagedestroy( $picture );
        $picture = $newPicture;
    }
Маска и результат:
0
Миниатюры
Наложение на изображение маски  
Изображения
 
10.08.2013, 11:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2013, 11:40
Привет! Вот еще темы с ответами:

Наложение текста на изображение - Visual Basic
Кто нибудь задавался таким вопросом? Есть код, на VB6 который открывает jpg файлы. Необходимо наложить на изображение имя файла. Как?

Наложение текста на изображение - PHP
Добрый день Каким методом и как лучшего всего будет наложить текст на картинку по конкретным координатам ?

Наложение текстуры на изображение - HTML5 Canvas
Есть задача. Надо наложить определенную текстуру на изображение с помощью Canvas. Помогите буду очень признателен или хотя бы ссылочкой где...

Наложение текста на изображение - Photoshop
Есть задача: сделать карту небольшого городка на основе Google-карт. Для этого нужна небольшая программа для наложения текста на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru