Графическое вырезание эллипсом.

NIMahno

Guest
Графическое вырезание эллипсом.

Существеет функция:
imagecopyresampled(),
которая копирует прямоугольную часть изображения в другое изображение.
Возможно ли копировать элипсовидное изображение?
 

neko

tеam neko
увы и ах, элипсовидных изображений на компьютере не бывает

что бывает так это прозрачные пиксели или альфа канал
 

NIMahno

Guest
тогда как можно опрозрачнить часть изображения, чтоб остался непрзрачным фрагмент в виде эллипса?
 

neko

tеam neko
в фотошопе
очень быстро и удобно!!!

вообще почитай ман по gd если хочешь это автоматом делать

-~{}~ 14.06.04 14:26:

а вообще ты эту картинку как строишь/откуда берешь и что дальше, после вырезания, с ней делать будешь?

небось кнопки какие-нибудь делаешь?!
 

NIMahno

Guest
где-нибудь в сети есть проверенный мануал? не направите?
а с картинкой - все просто и логично: если вырезаю, значит хочу вставить в рамку
 

Krisha

pain in the neck
Автор оригинала: NIMahno
все просто и логично: если вырезаю, значит хочу вставить в рамку
А меня на уроках труда еще в 3 классе научили рамку накладывать на фотографию, а не резать ножницами фотографию. Мне кажется, что с тех пор технология не изменилась.
 

NIMahno

Guest
Согласен, конечно, но рамка тоже овальная на прозрачном фоне, вот и приходится искать обходные пути, чтоб углы не торчали....
 

neko

tеam neko
какие углы
рисуешь рамку в фотошопе с дыркой посередине
сохраняешь в gif либо png
потом копируешь ее поверх картинки своей
наких эллипсов!
 

Krisha

pain in the neck
neko
Я понял, ему нужно, чтобы внешняя часть рамки, та, что за пределами эллипса, была бы тоже прозрачная. Хм...
 

neko

tеam neko
хм...
можно тогда в рамке сделать в служебных цвета один сразу прозрачный, для ее наложения на картинку, а второй назначить прозрачным после наложения.

это при условии что рамка в гифе.

как с альфаканалом в gd работать я незнаю, но предполагаю, что способы есть.
 

lucas

Guest
Рисуем рамку одним цветом, накладываем и объявляем его прозрачным.
(Или я чего то не понял?)

-~{}~ 15.06.04 16:29:

Оказалось, что мысли совпали.
+imagecolor*alpha
 

Krisha

pain in the neck
имхо, будут проблеммы с переходными цветами, иначе рамка будет "битая" по краям :(
 

lucas

Guest
В мануале:
int imagecolorallocatealpha ( resource image, int red, int green, int blue, int alpha)

imagecolorallocatealpha() behaves identically to imagecolorallocate() with the addition of the transparency parameter alpha which may have a value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.
 

neko

tеam neko
будут :)
но они в гифе в любом случае будут
за исключением случая когда заранее известен фон
 
Сверху