![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
fics |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 21.2.2008 Где: Луганск Репутация: нет Всего: нет |
Здравствуйте.
Задача: есть картинка на диске, скажем 100пх на 100пх Вопрос: как разрезать эту картинку на 100 частей (одна часть получается 10пх на 10пх) и вывести либо сохранить эти сто картинок??? Хотя бы примерно? --------------------
Ушел на пары |
|||
|
||||
ayax2005 |
|
|||
![]() echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
ну положим вывести можно и css-сом, а реально разрезать только каким-нить имаджиком.
Вообще цель какая - получить файлы и просто визуально разбить картинку для вьюхи? -------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
fics |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 21.2.2008 Где: Луганск Репутация: нет Всего: нет |
Re:реально разрезать только каким-нить имаджиком.
В чем вобщем и ворос, что нужно разрезать программно на php --------------------
Ушел на пары |
|||
|
||||
ayax2005 |
|
|||
![]() echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
-------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
fics |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 21.2.2008 Где: Луганск Репутация: нет Всего: нет |
Зачем это? - это задание небольшое для знакомой сделать нужно. С imagecopy понятно все, спасибо за наводку, ну вообще нужно вырезать не стандартную фигуру, к примеру звезду и наложить ее на квадратный прозрачный либо белый фон. Зачем это я не знаю. Просто скажите - можно ли так сделать? --------------------
Ушел на пары |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
вырезать - нет, подобного нет. но можно в обход. берешь файл-маску: в области "звезды" пиксели прозрачные, а за пределами "контура" - непрозрачные. накладываешь эту прямоугольную маску на исходную картинку(imagecopymerge + c учетом alpha blending). и получаешь "вырезанную звезду". вот только полученная картинка будет все же обычная "прямоугольная". |
|||
|
||||
fics |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 21.2.2008 Где: Луганск Репутация: нет Всего: нет |
ясно, спасибо, попробую сейчас
--------------------
Ушел на пары |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
затем было бы вообще хорошо избавиться от непрозрачного фона вокруг "звезды".
но ничего похожего на применение маски слоя в растровых редакторах, среди функций GD я не нашел. разве что брать маску(условно - белая звезда на черном фоне) и, перебирая пиксели маски, делать пиксель на "вырезанной" картинке прозрачным(за границами звезды) или оставлять непрозрачные(внутри контура). |
|||
|
||||
fics |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 21.2.2008 Где: Луганск Репутация: нет Всего: нет |
Так бы было очень просто, но к сожалению не найду функцию - которая по координатам точки на картинке определит его цвет. Вот если можно установить нужный пиксель на картинку: bool imagesetpixel ( resource $image , int $x , int $y , int $color ) а вот взять для этой функции $color из другой картинки что то вроде imageGETpixel - такого не нашел( Можно было бы просто циклом пробежать по пикселям картинки сравнивать их и если в XY - шаблона != цвету фона, то перекопировать на другую картинку пиксель Оп, извиняюсь, функция называется imagecolorat а искал imageGETpixel Это сообщение отредактировал(а) fics - 31.3.2011, 11:11 --------------------
Ушел на пары |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
вот только это будет сильно медленно.
если критично ко времени, лучше все ж поискать подобное в imagemagick |
|||
|
||||
fics |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 21.2.2008 Где: Луганск Репутация: нет Всего: нет |
да что по времени это в данном задании не страшно, а вот что нужно использовать функцию imagecolortransparent($img, $fon_color); чтобы сделать прозрачным фон - это не подходит, так как если в картинки будут пиксели == $fon_color эта функция и их сделает прозрачными, а по другому прозрачность никак не получиться сделать ( --------------------
Ушел на пары |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
ну, здрасьте. imagecolorallocatealpha + imagesetpixel |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |