Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Быстро уменьшить размер большого изображения
Форумы портала PHP.SU » » Графика в PHP » Быстро уменьшить размер большого изображения

Страниц (1): [1]
 

1. asql - 09 Июня, 2015 - 19:43:51 - перейти к сообщению
Кто знает, как уменьшить размер большого изображения 9000х10000 px в 900х1000 без особого убивания ресурсов сервера?
3. asql - 09 Июня, 2015 - 21:08:00 - перейти к сообщению
LIME пишет:
http://php.net/manual/ru/book.imagick.php

Вроде что-то интересное... спрошу хостера как подключить, отпишусь...
4. LIME - 09 Июня, 2015 - 21:13:08 - перейти к сообщению
asql а можно узнать зачем тебе это делать на сервере? Почему нельзя локально на компе?
5. asql - 11 Июня, 2015 - 19:32:37 - перейти к сообщению
LIME пишет:
asql а можно узнать зачем тебе это делать на сервере? Почему нельзя локально на компе?

Все просто шикарно! Но возникла маленькая заминка, при копировании изоражения из файла в созданое изображение, бывают случаи изменения цвета...
$NewClearImg ->compositeImage($Img1, imagick::COMPOSITE_OVER, 0, 0);
походу все кроется в imagick::COMPOSITE_OVER и цветовом профиле картинки...
но подбор COMPOSITE_ универсального решения для всех изображений не дал...
(Добавление)
LIME пишет:
asql а можно узнать зачем тебе это делать на сервере? Почему нельзя локально на компе?
Если б это можно было делать на компе, то я б С использовал...
6. LIME - 11 Июня, 2015 - 21:10:57 - перейти к сообщению
asql а почему на сервере нельзя С использовать? Или загружать с сервера и закачивать измененную?
7. asql - 11 Июня, 2015 - 21:17:22 - перейти к сообщению
LIME пишет:
asql а почему на сервере нельзя С использовать? Или загружать с сервера и закачивать измененную?
потому что хостинг
8. LIME - 11 Июня, 2015 - 21:18:21 - перейти к сообщению
И что? Залей прогу на С и дергай через system
9. asql - 11 Июня, 2015 - 21:18:58 - перейти к сообщению
LIME пишет:
asql а почему на сервере нельзя С использовать? Или загружать с сервера и закачивать измененную?
мне нужно что б клацнул пальцами - а скрипт все сделал сам...
10. LIME - 11 Июня, 2015 - 21:19:05 - перейти к сообщению
Тем более есть вариант скачать изменить и залить
Пиздобольство корочеУлыбка
(Добавление)
asql пишет:
мне нужно что б клацнул пальцами - а скрипт все сделал сам...
эээх...мнеб такую программку
Всегда мечтал
(Добавление)
asql так если ты знаешь как на С делать то делай
Есть возможнсть вызвать из пхп как из CLI
11. asql - 11 Июня, 2015 - 21:25:23 - перейти к сообщению
LIME пишет:
И что? Залей прогу на С и дергай через system

... мы далеко отходит от вопроса...
https://yadi[dot]sk/d/xMrMND9yhDGtE
это картинка
PHP:
скопировать код в буфер обмена
  1.  
  2. $NewImg1 = new Imagick('123.jpg');
  3. $NewImg1 ->thumbnailImage(295, 0);
  4. $arrSize=$NewImg1->getImageGeometry();
  5.  
  6. $NewClearImg = new Imagick();
  7. $NewClearImg ->newImage( $arrSize['width'], $arrSize['height'], '#efefef');
  8. $NewClearImg ->compositeImage($NewImg1, Imagick::COMPOSITE_OVER, 0, 0);
  9.  
  10. $NewClearImg ->setImageFormat("jpg");
  11. header('Content-type: image/jpeg');
  12. echo $NewClearImg;
  13.  

это код
12. LIME - 11 Июня, 2015 - 21:50:08 - перейти к сообщению
http://yakim[dot]org[dot]ua/articles/wor[dot][dot][dot]imagemagick[dot]html
(Добавление)
Дергать через system опять же можно
Подойдет?
13. asql - 12 Июня, 2015 - 11:03:32 - перейти к сообщению
LIME пишет:
http://yakim[dot]org[dot]ua/articles/wor[dot][dot][dot]imagemagick[dot]html
(Добавление)
Дергать через system опять же можно
Подойдет?

Если бы дело было только в уменьшении...
14. asql - 20 Июня, 2015 - 15:26:04 - перейти к сообщению
В общем инверсия происходит из-за попадающихся изображений в цветовой моделе CMYK, хз почему...
PHP:
скопировать код в буфер обмена
  1.  
  2. if ($Img ->getImageColorspace() == Imagick::COLORSPACE_CMYK) {
  3.         $range = $Img->getQuantumRange();
  4.         $Img->negateImage(false, Imagick::CHANNEL_ALL);
  5.         $Img->levelImage(0,1, $range['quantumRangeString']);
  6. }
  7.  

Но по корректному переводу из цмик в ргб в интернете не надыбал...
С горем пополам написал этот кусок кода, от части он помогает... хотя 100% корректной цветопередачи получить не удалось!
...может кто допилит его и выложит здесь!

 

Powered by ExBB FM 1.0 RC1