|
|
|
| Здравствуйте!
Возможно ли сделать зеркальное отражение изображения с помощью gd? | |
|
|
|
|
|
|
|
для: Владислав KHME
(15.12.2009 в 02:32)
| | Можно. | |
|
|
|
|
|
|
|
для: Саня
(15.12.2009 в 15:09)
| | Еще один кандидат :) Аналогичный ответ уже удалял модератор, опять ему работа :) | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 15:25)
| | ну а что делать, если ответ верный... | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 15:25)
| | Ну видимо неконкретный, а это, видимо, хуже мата :)) | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 15:27)
| | А кстати, как делать-то, если не попиксельно? | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 15:34)
| | В GD больше никак. | |
|
|
|
|
|
|
|
для: Саня
(15.12.2009 в 15:40)
| | Тогда получается, что ответ верный , но лишь формально. И действия модератора в этом моменте оправдывает. :) | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 15:42)
| | Зато в следующий раз ТС напишет вопрос более конкретно ))
Такая вот система тренировки юзеров. | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 15:42)
| | Тем не менее мы своими постами вносим неоценимую услугу форуму - мы тестим нагрузку :)) | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 15:44)
| | Ну по вопросу оценки услуг точно разногласий не будет. :)
Тем не менее, если можно, я вернусь к нашим баранам тредстартера.
Мне в данном случае представляется, что массовая попиксельная php-обработка с применением GD
хуже собственной php-процедуры без попиксельных операций.
И для png-формата вроде как последняя даже реализуема. | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 15:49)
| | А что там по png реализуемо? Ушел в мануал.... | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 15:51)
| | Подскажите как реализовать на gd?
Или другими средствами на php.
Спасибо. | |
|
|
|
|
|
|
|
для: Владислав KHME
(15.12.2009 в 17:37)
| | Пробегаете по открытому изображению построчно, получая каждый его пиксель, и копируя его зеркально в созданный ресурс. | |
|
|
|
|
|
|
|
для: Владислав KHME
(15.12.2009 в 17:37)
| |
загрузить картинку
получить высоту и ширину картинки
цикл по строкам
- для каждого номера y строки от 0 до высота-картинки
цикл по пикселям
- для каждого номера x пикселя от 0 до ширина-картинки/2
получить цвет пикселя по координаттам x, y
получить цвет пикселя по координаттам (ширина-картинки - 1 - x), y
записать пиксели, поменяв местами значения
конец-цикла
конец-цикла
сохранить картинку
|
| |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 17:49)
| | А зачем цвет пикселя получать? | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 17:52)
| | я не сторонник открывать два ресурса для такой задачи. Поэтому придется получить. | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 17:54)
| | Точно, не подумал. | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 15:51)
| | Тут не в мануал... Тут в спецификейшн по png уходить надо.
Суть в том, что компрессия в png - чистый gzip, для которого, как известно, в php средств достаточно.
а сырой (несжатый) png - обычный прямоугольный набор данных. и для этого уже есть fread, fwrite и прочие массовые операции, в т.ч. и array_reverse для массового разворота данных. | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 17:53)
| | А если это не png? Значит надо преобразовать, сохранить, открыть.... Есть в GD ее внутренний формат предствления, я так полагал, что это тоже сырой формат, и предполагалось что-то с ним "творить" свободно, но ведь функции не документированы, к сожалению. | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 17:55)
| | А если это не png, то гарантированно открыть и переделать, да еще так, чтоб ресурсов оперативной памяти не пожрать под саму картинку, как это GD делает - не выйдет.
В GIF LZW-сжатие
В BMP возможно RLE-сжатие.
В TIFF масса видов компрессии
Про JPEG молчу вообще.
А с png вроде формальных препонов нет. | |
|
|
|