Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Зеркальное отражение в GD
 
 автор: Владислав KHME   (15.12.2009 в 02:32)   письмо автору
 
 

Здравствуйте!
Возможно ли сделать зеркальное отражение изображения с помощью gd?

  Ответить  
 
 автор: Саня   (15.12.2009 в 15:09)   письмо автору
 
   для: Владислав KHME   (15.12.2009 в 02:32)
 

Можно.

  Ответить  
 
 автор: sim5   (15.12.2009 в 15:25)   письмо автору
 
   для: Саня   (15.12.2009 в 15:09)
 

Еще один кандидат :) Аналогичный ответ уже удалял модератор, опять ему работа :)

  Ответить  
 
 автор: Trianon   (15.12.2009 в 15:25)   письмо автору
 
   для: sim5   (15.12.2009 в 15:25)
 

ну а что делать, если ответ верный...

  Ответить  
 
 автор: sim5   (15.12.2009 в 15:27)   письмо автору
 
   для: Trianon   (15.12.2009 в 15:25)
 

Ну видимо неконкретный, а это, видимо, хуже мата :))

  Ответить  
 
 автор: Trianon   (15.12.2009 в 15:34)   письмо автору
 
   для: sim5   (15.12.2009 в 15:27)
 

А кстати, как делать-то, если не попиксельно?

  Ответить  
 
 автор: Саня   (15.12.2009 в 15:40)   письмо автору
 
   для: Trianon   (15.12.2009 в 15:34)
 

В GD больше никак.

  Ответить  
 
 автор: Trianon   (15.12.2009 в 15:42)   письмо автору
 
   для: Саня   (15.12.2009 в 15:40)
 

Тогда получается, что ответ верный , но лишь формально. И действия модератора в этом моменте оправдывает. :)

  Ответить  
 
 автор: Саня   (15.12.2009 в 15:44)   письмо автору
 
   для: Trianon   (15.12.2009 в 15:42)
 

Зато в следующий раз ТС напишет вопрос более конкретно ))
Такая вот система тренировки юзеров.

  Ответить  
 
 автор: sim5   (15.12.2009 в 15:44)   письмо автору
 
   для: Trianon   (15.12.2009 в 15:42)
 

Тем не менее мы своими постами вносим неоценимую услугу форуму - мы тестим нагрузку :))

  Ответить  
 
 автор: Trianon   (15.12.2009 в 15:49)   письмо автору
 
   для: sim5   (15.12.2009 в 15:44)
 

Ну по вопросу оценки услуг точно разногласий не будет. :)

Тем не менее, если можно, я вернусь к нашим баранам тредстартера.

Мне в данном случае представляется, что массовая попиксельная php-обработка с применением GD
хуже собственной php-процедуры без попиксельных операций.
И для png-формата вроде как последняя даже реализуема.

  Ответить  
 
 автор: sim5   (15.12.2009 в 15:51)   письмо автору
 
   для: Trianon   (15.12.2009 в 15:49)
 

А что там по png реализуемо? Ушел в мануал....

  Ответить  
 
 автор: Владислав KHME   (15.12.2009 в 17:37)   письмо автору
 
   для: sim5   (15.12.2009 в 15:51)
 

Подскажите как реализовать на gd?
Или другими средствами на php.
Спасибо.

  Ответить  
 
 автор: sim5   (15.12.2009 в 17:41)   письмо автору
 
   для: Владислав KHME   (15.12.2009 в 17:37)
 

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

  Ответить  
 
 автор: Trianon   (15.12.2009 в 17:49)   письмо автору
 
   для: Владислав KHME   (15.12.2009 в 17:37)
 


загрузить картинку
получить высоту и ширину картинки
цикл по строкам  
- для каждого номера y строки  от 0 до высота-картинки
    цикл по пикселям 
    - для каждого номера x пикселя от 0 до ширина-картинки/2 
        получить цвет пикселя по координаттам x, y 
        получить цвет пикселя по координаттам (ширина-картинки - 1 - x), y 
        записать пиксели, поменяв местами значения
    конец-цикла 
конец-цикла
сохранить картинку

  Ответить  
 
 автор: sim5   (15.12.2009 в 17:52)   письмо автору
 
   для: Trianon   (15.12.2009 в 17:49)
 

А зачем цвет пикселя получать?

  Ответить  
 
 автор: Trianon   (15.12.2009 в 17:54)   письмо автору
 
   для: sim5   (15.12.2009 в 17:52)
 

я не сторонник открывать два ресурса для такой задачи. Поэтому придется получить.

  Ответить  
 
 автор: sim5   (15.12.2009 в 17:58)   письмо автору
 
   для: Trianon   (15.12.2009 в 17:54)
 

Точно, не подумал.

  Ответить  
 
 автор: Trianon   (15.12.2009 в 17:53)   письмо автору
 
   для: sim5   (15.12.2009 в 15:51)
 

Тут не в мануал... Тут в спецификейшн по png уходить надо.
Суть в том, что компрессия в png - чистый gzip, для которого, как известно, в php средств достаточно.
а сырой (несжатый) png - обычный прямоугольный набор данных. и для этого уже есть fread, fwrite и прочие массовые операции, в т.ч. и array_reverse для массового разворота данных.

  Ответить  
 
 автор: sim5   (15.12.2009 в 17:55)   письмо автору
 
   для: Trianon   (15.12.2009 в 17:53)
 

А если это не png? Значит надо преобразовать, сохранить, открыть.... Есть в GD ее внутренний формат предствления, я так полагал, что это тоже сырой формат, и предполагалось что-то с ним "творить" свободно, но ведь функции не документированы, к сожалению.

  Ответить  
 
 автор: Trianon   (15.12.2009 в 18:03)   письмо автору
 
   для: sim5   (15.12.2009 в 17:55)
 

А если это не png, то гарантированно открыть и переделать, да еще так, чтоб ресурсов оперативной памяти не пожрать под саму картинку, как это GD делает - не выйдет.
В GIF LZW-сжатие
В BMP возможно RLE-сжатие.
В TIFF масса видов компрессии
Про JPEG молчу вообще.
А с png вроде формальных препонов нет.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования