Автор Тема: Снова GD  (Прочитано 10428 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Снова GD
« : 28 Ноября 2003, 01:29:14 »
Я тут столкнулся с проблемой... мне надо сделать так, чтобы полноцветная картинка превратилась в картинку с определенным диапазоном цветов, заданным в файле "palette.jpg" градиентом.
Скрипт выглядит примерно так:

    $img_old
=imagecreatefromjpeg($file);
    
imagetruecolortopalette($img_old,false,65535);
    
$img_new=imagecreate($nwidth,$nheight);
    
$img_palette=imagecreatefromjpeg("palette.jpg");
    
imagetruecolortopalette($img_palette,false,65535);
    
imagecopyresized($img_new,$img_old,0,0,0,0,$nwidth,$nheight,$owidth,$oheight);
    
imagepalettecopy($img_new,$img_palette);
    
imagegammacorrect ($img_new,1,1.23);
    
imagedestroy($img_old);
    
imagedestroy($img_palette);
    
imagejpeg($img_new,basename($file));
    
imagedestroy($img_new);

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

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Снова GD
« Ответ #1 : 28 Ноября 2003, 08:19:54 »
Цитировать
hanslinger:
жутко теряется качество
А может так и должно быть? Количество цветов ограничивается - качество теряется.
Это если я тя правильно понял.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Снова GD
« Ответ #2 : 28 Ноября 2003, 10:13:30 »
Ну, я думал, что 65535 цветов достаточно... да я и 16777215 ставил по дурости, все равно эффект один :).

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Снова GD
« Ответ #3 : 28 Ноября 2003, 11:21:27 »
imagecreatetruecolor
мануал надо читать

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Снова GD
« Ответ #4 : 28 Ноября 2003, 12:15:45 »
Да я понимаю, что надо... да и читал я его... но мне-то надо палитру скопировать! С truecolor\'ными картинками не катит.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Снова GD
« Ответ #5 : 28 Ноября 2003, 12:19:53 »
то есть, тебе надо из шестнадцатимиллионной картинки сделать шестидесятипятитысячную и ты У НАС спрашиваешь, куда подевалось качество?

Делай все фотошопом и не пудри нам мозги.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Снова GD
« Ответ #6 : 28 Ноября 2003, 12:48:49 »
Я, кажется, писал, что ставил 16м.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Снова GD
« Ответ #7 : 28 Ноября 2003, 12:58:45 »
Ты же писал, что с труколорными картинками у тебя "не катит"?
А труколор по-твоему - это сколько?

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Снова GD
« Ответ #8 : 28 Ноября 2003, 16:21:41 »
Труколор "по-моему" это 16 миллионов цветов. Но из того же мана, который я все-таки читал, можно, не особо вдаваясь в подробности конструкций картинок, понять, что GD работает с двумя типами картинок, truecolor и palette. Так вот выходит, что, когда у palette 16 миллионов цветов, получается совсем не то же самое, что в truecolor.
Вообще, я не особо хочу тут с тобой ругаться, ты лучше попросту скажи - знаешь, как помочь, или нет?

Оффлайн DiJay

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 65
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Снова GD
« Ответ #9 : 04 Декабря 2003, 11:06:15 »
а в функции
imagejpeg ( resource image [, string filename [, int quality]]);
есть параметр дополнительный int quality
может в нем загвоздка?
и вообще GD с JPEG хреново работает ...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Снова GD
« Ответ #10 : 04 Декабря 2003, 11:12:58 »
О, господи. опять нашествие. Опять в нем проснулась страсть поотвечать на вопросы. Опять придется стирать...

Ответ я написал в самом начале.
Человек копирует труколорную картинку в 64к. И потом спрашивает, куда подевалось качество.
От правильного ответа отбрыкивается - мне, говорит, другое надо.
Все ему кругом виноваты.
« Последнее редактирование: 04 Декабря 2003, 11:24:16 от RomikChef »

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Снова GD
« Ответ #11 : 04 Декабря 2003, 12:40:49 »
Цитировать
DiJay:
и вообще GD с JPEG хреново работает ...

Это программист с неочень прямыми руками с GD плохо работает...

Вообще сколько можно? не можешь помочь, дать идею, хотя бы намек, ну не лезь. Тысячи программистов используют GD, а у одного не работает. Если ты почитаешь ман нормально, то увидишь:
Цитировать

quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). Default is to 100

Это означает, что у него не могло попортиться качество из-за того, что он вообще этот параметр не указывает.
работа в Украине

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Снова GD
« Ответ #12 : 04 Декабря 2003, 16:36:10 »
Ромик! Ты почему-то отчаянно игнорируешь мои посты. Пчитай. Прошу тебя. Мне так обидно, что ты, такой умный и справедливый, сам лажаешься...

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Снова GD
« Ответ #13 : 04 Декабря 2003, 16:37:54 »
Yukko: в моем мане написано, что default is to 75. Но я додумался-таки это поменять. Я не тупой. У меня кризис серьезный, не как у большинства.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Снова GD
« Ответ #14 : 04 Декабря 2003, 16:41:14 »
мне нет нужды чтить твои посты.
я прочел твой КОД
Я написал, что в нем надо поменять.
ты отказался.
Ничем больше не могу помочь.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28