Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2009-05-04 08:47:48

v01d
Модератор
Здесь с 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Другой цвет фона при создании миниатюры

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

Вопрос: Как указать GD что для создания миниатюры нужно использовать другой цвет фона?
Спасибо.


Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Вне форума

#2 2009-05-04 11:21:10

insider
Участник
Здесь с 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Другой цвет фона при создании миниатюры

Если я правильно понял что требуется, то это здесь:
/engine/includes/classes/upload.class.php

		// Resize image
		imagefill($newimg,0,0,'0xFFFFFF');

Вне форума

#3 2009-05-04 14:20:08

v01d
Модератор
Здесь с 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Re: Другой цвет фона при создании миниатюры

Спасибо..
Тока немного ниже

$background		=	array("r" => 255, "g" => 255, "b" => 255);

Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Вне форума

#4 2009-05-04 14:56:19

insider
Участник
Здесь с 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Другой цвет фона при создании миниатюры

Это цвет, в который будет переходить тень

Вне форума

#5 2009-05-04 18:31:38

v01d
Модератор
Здесь с 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Re: Другой цвет фона при создании миниатюры

А то что ты указал у меня цвет фона не меняет. :|

Отредактировано v01d (2009-05-04 18:32:09)


Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Вне форума

#6 2009-05-04 22:04:01

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Другой цвет фона при создании миниатюры

v01d, возможно тебе поможет вот это (начальная заливка "холста" для миниатюры):

	// Resize image
	imagefill($newimg,0,0,'0xFFFFFF');
	imagecopyresized($newimg, $img, 0,0,0,0,$newX, $newY, $origX, $origY);

Оно?

Вне форума

#7 2009-05-05 10:59:06

v01d
Модератор
Здесь с 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Re: Другой цвет фона при создании миниатюры

vitaly пишет:

v01d, возможно тебе поможет вот это (начальная заливка "холста" для миниатюры):

	// Resize image
	imagefill($newimg,0,0,'0xFFFFFF');
	imagecopyresized($newimg, $img, 0,0,0,0,$newX, $newY, $origX, $origY);

Оно?

От этого я и начал копать.

Меняю

imagefill($newimg,0,0,'0xFFFFFF'); на imagefill($newimg,0,0,'0x000000');

Должен быть черный фон, а он белый какбудто не менял.

Чего я не понимаю?
Делаю так:

// Calculate thumb size and create an empty object for it

		$newX = round($origX / $factor);

		$newY = round($origY / $factor);



		$newimg = imagecreatetruecolor($newX, $newY);



		// Resize image

		$mycolor = imagecolorallocate($newimg, 116, 192, 220);
		imagefill($newimg,0,0, $mycolor);

		imagecopyresized($newimg, $img, 0,0,0,0,$newX, $newY, $origX, $origY);

Без изменений, фон чисто белый.
Интересно а прозрачный фон замутить реально?

Отредактировано v01d (2009-05-05 11:01:45)


Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Вне форума

#8 2009-05-05 13:16:38

insider
Участник
Здесь с 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Другой цвет фона при создании миниатюры

Я не понял о каком фоне речь идет )
Сделай скрин, пожалуйста, и выдели лично для меня там фон )

Вне форума

#9 2009-05-05 13:35:18

SeeD
Участник
Откуда: Москва
Здесь с 2008-10-13
Сообщений: 158
Рейтинг :   
Сайт

Re: Другой цвет фона при создании миниатюры

видимо речь идет об обработке прозрачных гифок и PNG`шек. в исходнике там прозрачно, на миниатюре - фон белеет.


делай, что надо и будь, что будет

Вне форума

#10 2009-05-05 13:44:06

insider
Участник
Здесь с 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Другой цвет фона при создании миниатюры

Тогда может

imagefill($newimg,0,0,'0xFFFFFF');

и вовсе закомментить?

Вне форума

#11 2009-05-05 23:50:35

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Другой цвет фона при создании миниатюры

v01d, всё понятно.
С помощью infinity237 проблему удалось локализовать.

Скачай из SVN обновлённую версию файла engine/includes/classes/upload.class.php - в нём для уменьшенной картинки сохраняются параметры прозрачности.

Вне форума

#12 2009-05-06 11:18:23

v01d
Модератор
Здесь с 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Re: Другой цвет фона при создании миниатюры

Спасибо конечно, но я немного о другом.
alba.jpg

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

Можно конечно обойти используя css рамку и не использовать тень.

Отредактировано v01d (2009-05-06 11:22:08)


Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Вне форума

#13 2009-05-06 11:26:06

insider
Участник
Здесь с 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Другой цвет фона при создании миниатюры

Ну так это и есть цвет, в который переходит тень smile
Просто, т.к. в тех уголках тени нету, они заливаются этим цветом целиком

Вне форума

#14 2009-05-06 12:30:36

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Другой цвет фона при создании миниатюры

v01d, вот теперь я тебя понял. Мы подумали, что у тебя проблема с прозрачными картинками.
На самом деле есть вариант получше - в случае PNG эти области можно вообще делать прозрачными! Как такая идея?

Тебе же вот это нужно (как мне кажется):

		if ($param['shadow']) {
			$newX			=	$origX + 5;
			$newY			=	$origY + 5;
			$newimg			=	imagecreatetruecolor($newX, $newY);

- создаётся пустая картинка на 5 пикселов больше по вертикали и горизонтали (для тени).
Тебе нужно просто добавить заливку картинки нужным фоном.
После этих строк попробуй добавить:

		imagefill($newimg,0,0,'0xFFFFFF');

а вместо 0xFFFFFF - проставь нужный тебе цвет.

Вне форума

#15 2009-05-06 12:38:42

insider
Участник
Здесь с 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Другой цвет фона при создании миниатюры

Там уже есть заливка, достаточно отредактировать

			$background		=	array("r" => 255, "g" => 255, "b" => 255);

что и было в 3-ем сообщении этой темы

Вне форума

#16 2009-05-06 13:10:35

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Другой цвет фона при создании миниатюры

insider, это заливка для отрисовки тени.
И, как видно ниже, заливка начинается со смещения X=5, Y=5. Т.е. как раз и остаются те самые белые квадратики, про которые говорит v01d:

				@imagefilledrectangle($newimg, 5, 5, $newX - $i, $newY - $i, $colors[$i]);

При этом изменение цветов в указанном тобой месте может ещё и сам градиент-тень подпортить.

Вне форума

#17 2009-05-06 13:26:06

insider
Участник
Здесь с 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Другой цвет фона при создании миниатюры

Квадратиков не останется, чуть выше есть строка:

imagefilledrectangle($newimg, 0,0, $newX, $newY, $colors[0]);

Измененный градиент смотрится на фоне только лучше. Создается ощущение псевдо-прозрачности. Все-таки это тень.

edit:
Думаю, разница видна прекрасно:
http://ipicture.ru/uploads/090506/29625/zdQO1Op2u1.png
Слева вариант с "подпорченным" градиентом

Отредактировано insider (2009-05-06 13:37:24)

Вне форума

#18 2009-05-06 16:08:59

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Другой цвет фона при создании миниатюры

insider, действительно, ты прав. Спасибо!

Вне форума

#19 2009-05-06 20:34:09

v01d
Модератор
Здесь с 2008-10-14
Сообщений: 179
Рейтинг :   
Сайт

Re: Другой цвет фона при создании миниатюры

Ага, значит я в правильном направлении копал smile
Всем спасибо за помощь.


Продвигай NGCMS,
скачай статью и на свой сайт повесь.
Геленджик - лучший отдых на Черном море

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.018 сек, 7 запросов выполнено - Использовано памяти: 596.85 Кбайт (Пик: 633.85 Кбайт) ]