Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графика 
:(
    Опции темы
fics
Дата 29.3.2011, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



Здравствуйте. 
Задача: есть картинка на диске, скажем 100пх на 100пх
Вопрос: как разрезать эту картинку на 100 частей (одна часть получается 10пх на 10пх) и вывести либо сохранить эти сто картинок???

Хотя бы примерно?
--------------------
Ушел на пары
PM MAIL   Вверх
ayax2005
Дата 29.3.2011, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



ну положим вывести можно и css-сом, а реально разрезать только каким-нить имаджиком.
Вообще цель какая - получить файлы и просто визуально разбить картинку для вьюхи?


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
fics
Дата 29.3.2011, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



Re:реально разрезать только каким-нить имаджиком.
В чем вобщем и ворос, что нужно разрезать программно на php
--------------------
Ушел на пары
PM MAIL   Вверх
ayax2005
Дата 29.3.2011, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11





--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
skyboy
Дата 29.3.2011, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



ну, почему же. 
цикл + imagecopy + imagejpg.
только вот зачем это?  smile 
PM MAIL   Вверх
fics
Дата 30.3.2011, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



Цитата(skyboy @ 29.3.2011,  14:33)
ну, почему же. 
цикл + imagecopy + imagejpg.
только вот зачем это?  smile

Зачем это? - это задание небольшое для знакомой сделать нужно.

С imagecopy понятно все, спасибо за наводку, ну вообще нужно вырезать не стандартную фигуру, к примеру звезду и наложить ее на квадратный прозрачный либо белый фон. Зачем это я не знаю.
Просто скажите - можно ли так сделать?
--------------------
Ушел на пары
PM MAIL   Вверх
skyboy
Дата 30.3.2011, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(fics @  30.3.2011,  12:41 Найти цитируемый пост)
ну вообще нужно вырезать не стандартную фигуру

вырезать - нет, подобного нет.
но можно в обход.
берешь файл-маску: в области "звезды" пиксели прозрачные, а за пределами "контура" - непрозрачные.  накладываешь эту прямоугольную маску на исходную картинку(imagecopymerge + c учетом alpha blending). и получаешь "вырезанную звезду". вот только полученная картинка будет все же обычная "прямоугольная".

PM MAIL   Вверх
fics
Дата 30.3.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



ясно, спасибо, попробую сейчас 
--------------------
Ушел на пары
PM MAIL   Вверх
skyboy
Дата 30.3.2011, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



затем было бы вообще хорошо избавиться от непрозрачного фона вокруг "звезды".
но ничего похожего на применение маски слоя в растровых редакторах, среди функций GD я не нашел.
разве что брать маску(условно - белая звезда на черном фоне) и, перебирая пиксели маски, делать пиксель на "вырезанной" картинке прозрачным(за границами звезды) или оставлять непрозрачные(внутри контура).

PM MAIL   Вверх
fics
Дата 31.3.2011, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



Цитата(skyboy @ 30.3.2011,  15:52)
разве что брать маску(условно - белая звезда на черном фоне) и, перебирая пиксели маски, делать пиксель на "вырезанной" картинке прозрачным(за границами звезды) или оставлять непрозрачные(внутри контура).

Так бы было очень просто, но к сожалению не найду функцию - которая по координатам точки на картинке определит его цвет.


Вот если можно установить нужный пиксель на картинку:
bool imagesetpixel ( resource $image , int $x , int $y , int $color )

а вот взять для этой функции $color из другой картинки что то вроде imageGETpixel - такого не нашел(

Можно было бы просто циклом пробежать по пикселям картинки сравнивать их и если в XY - шаблона !=
цвету фона, то перекопировать на другую картинку пиксель 

Оп, извиняюсь, функция называется imagecolorat а искал imageGETpixel

Это сообщение отредактировал(а) fics - 31.3.2011, 11:11
--------------------
Ушел на пары
PM MAIL   Вверх
skyboy
Дата 31.3.2011, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



вот только это будет сильно медленно. 
если критично ко времени, лучше все ж поискать подобное в imagemagick
PM MAIL   Вверх
fics
Дата 31.3.2011, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



Цитата(skyboy @ 31.3.2011,  13:23)
вот только это будет сильно медленно. 
если критично ко времени, лучше все ж поискать подобное в imagemagick

да что по времени это в данном задании не страшно, а вот что нужно использовать функцию
imagecolortransparent($img, $fon_color); чтобы сделать прозрачным фон - это не подходит, так как если в картинки будут пиксели == $fon_color эта функция и их сделает прозрачными, а по другому прозрачность никак не получиться сделать (
--------------------
Ушел на пары
PM MAIL   Вверх
skyboy
Дата 31.3.2011, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(fics @  31.3.2011,  13:25 Найти цитируемый пост)
imagecolortransparent($img, $fon_color); чтобы сделать прозрачным фон - это не подходит, так как если в картинки будут пиксели == $fon_color эта функция и их сделает прозрачными, а по другому прозрачность никак не получиться сделать ( 

ну, здрасьте.
imagecolorallocatealpha + imagesetpixel
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0912 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.