|
|
|
| Здравствуйте,
есть 10 png, которые нужно склеить
скажите пожалуйста каков будет примерный алгоритм этого процесса?
насколько я понимаю сразу 10 штук за один проход не склеишь....
склеивая по 2 нужно определять существует ли предыдущая промежуточная картинка...
как это дело проверять?
спасибо. | |
|
|
|
|
|
|
|
для: moonfox
(15.05.2011 в 00:10)
| | Я не понял вопроса. | |
|
|
|
|
|
|
|
для: moonfox
(15.05.2011 в 00:10)
| | А склеять как? По вертикали, по горизонтали?
>насколько я понимаю сразу 10 штук за один проход не склеишь....
В общем почему бы и нет, можно вычислить общую ширину/высоту всех изображений, создать изображение подложку такой ширины/высоты и копировать на неё изображения со смещением, соответствующих номеру слеиваемого изображения. | |
|
|
|
|
|
|
|
для: moonfox
(15.05.2011 в 00:10)
| | Определяетесь как они должны быть расположены в итоге. Допустим, у нас 10 картинок шириной 200 пикселей и высотой 150. Я хочу сделать из них одну. Пять в ряд, два ряда.
Создаю изображение шириной 1000 и высотой 300 пикселей. Это мое "поле", куда буду "вклеивать" картинки.
По очереди читаю картинки (по номерам или как вам надо). В зависимости от номера текущей картинки определяю координаты ее положения на моем "поле". Это совсем просто. Если это, скажем, четвертая картинка, то ряд у нее первый (y=0) а положение по горизонтали будет 200*3=600. Это левый верхний угол.
Вклеиваю и иду за следующей. Сохраняю результат. | |
|
|
|
|
|
|
|
для: SHAman
(15.05.2011 в 12:06)
| | это 10 картинок одинакового размера, с прозрачностью.
надо склеить одно с другом, поверх. | |
|
|
|
|
|
|
|
для: moonfox
(15.05.2011 в 17:29)
| | попробуйте через css, точнее через z-index. | |
|
|
|
|
|
|
|
для: moonfox
(15.05.2011 в 17:29)
| | Если я все правильно понимаю, то достаточно их "вклеить" на одну позицию с сохранением прозрачности. | |
|
|
|
|
|
|
|
для: SHAman
(16.05.2011 в 12:42)
| | меня интересует нужен ли промежуточный файл..
то есть склеили 1.png и 2.png получили 1_2.png
затем берем этот файл и клеим с 3.png - получаем снова промежуточный файл и так далее...
но тогда надо проверять на существование промежуточных файлов...
или можно брать данные из переменной не сохраняя в файл пока не дойдем до 10 картинки. | |
|
|
|
|
|
|
|
для: moonfox
(16.05.2011 в 19:57)
| | не то что клеить, да и клеить не надо, просто считайте что вы ставите все фотки друг на друга, как слои в фотошопе, и пропускаемость прозрачности определяет исход видимости конечного объекта. | |
|
|
|
|
|
|
|
для: SHAman
(16.05.2011 в 12:42)
| | ну да, думаю проще ни как не сделать, другое дело будет ли удовлетворять требованиям автора, но по тому что именно он хочет -это как раз то что надо:) | |
|
|
|
|
|
|
|
для: bab-nike
(16.05.2011 в 20:28)
| | $strap = imagecreatefrompng("image_1.png");
$w = imagesx($strap);
$h = imagesy($strap);
imagealphablending($strap,true);
imagesavealpha($strap, true);
$buckle = imagecreatefrompng("image_2.png");
imagealphablending($buckle,false);
imagesavealpha($buckle, true);
$crease = imagecreatefrompng("image_3.png");
imagealphablending($crease,false);
imagesavealpha($crease, true);
imagecopy($strap,$buckle,0,0,0,0,$w,$h);
imagecopy($strap,$crease,0,0,0,0,$w,$h);
imagepng($strap, 'lol.png');
imagedestroy($strap);
imagedestroy($buckle);
а ставить их одну за одну... не подходит ))) | |
|
|
|
|
|
|
|
для: moonfox
(16.05.2011 в 23:13)
| | z-index надо применять с помощю css
Вам сюда, там и пример и результат, в DIV можно ставить не только текст, но и картинку, полученый вами.
http://htmlbook.ru/css/z-index | |
|
|
|
|
|
|
|
для: bab-nike
(17.05.2011 в 14:46)
| | я знаю)
мне не подходит это)
спасибо | |
|
|
|