PHP gdLib 8-разрядный PNG с альфой

Как кто-то, кто посреди переключения между CVS и SVN (первоначально мы переключили все наши проекты с cvs2svn и затем решили, что перейдем, только используя svn на новых проектах), вот некоторые проблемы, которые мы имели.

  • Слияние и ветвление очень отличаются, и если Вы переходите и часто объединяетесь, если у Вас нет SVN 1.5, работающего на Вашем сервере, должны знать, когда Вы перешли (это не очень ясно у Черепахи диалоговые окна SVN). Michael говорит, что ветвление и слияние интуитивны, я утверждал бы, что после использования CVS в течение 10 лет, это не.
  • , Если Ваш выполняют сервер SVN на Linux, может быть трудно заставить Ваш SA перемещаться в svn 1.5 как установка по умолчанию 1.4.x.
  • Объединяющиеся конфликты являются совсем не столь же легкими или четкими (по крайней мере, мне и моим коллегам) в TortoiseSVN, как это находится в TortoiseCVS. Три подхода области берут некоторых привыкающих к, и WinMerge (мой предпочтительный инструмент слияния) не делает трех слияний области.
  • Остерегайтесь: многие учебные руководства онлайн и статьи журнала, которые я прочитал, очевидно, не переходят и объединяются, необходимо открыть основной репозиторий как https://svn.yoursvnserver.com/repos/YourProject/Trunk и ответвления по https://svn.yoursvnserver.com/repos/YourProject/Branches/BranchX. Можно вымыться, если Вы запускаете свой repos в неправильном месте, но это приводит к беспорядку.

8
задан Beerweasle 19 November 2009 в 09:27
поделиться

5 ответов

Использование imagesavealpha () и прозрачного цвета bg должно помочь ...

На основе кода dfilkovi:

<?php
// Create a new true color image
$im = new imagecreatetruecolor(100, 100);

// Fill with alpha background
$alphabg = imagecolorallocatealpha($im, 0, 0, 0, 127);
imagefill($im, 0, 0, $alphabg);

// Convert to palette-based with no dithering and 255 colors with alpha
imagetruecolortopalette($im, false, 255);
imagesavealpha($im, true);

// Save the image
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>
5
ответ дан 5 December 2019 в 21:20
поделиться

Думаю, это может вам помочь.

http://roseindia.net/tutorial/php/phpgd/About-transparent.html

0
ответ дан 5 December 2019 в 21:20
поделиться
<?php
// Create a new true color image
$im = new imagecreatetruecolor(100, 100);

// Convert to palette-based with no dithering and 255 colors
imagetruecolortopalette($im, false, 255);

// Save the image
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>

это должно сделать 8-битный png

0
ответ дан 5 December 2019 в 21:20
поделиться

Я искал, искал, искал и нашел миниатюру веб-страницы (статья Проект кода ).

-121--2617168-

Кто-нибудь знает о сравнении, эталоне или подобном примере, который доказывает отсутствие существенного влияния на производительность при использовании внешних ключей? (Что, я надеюсь, убедит его)

Я думаю, что вы делаете это не так. Эталоны никогда никого не убеждают.

То, что вы должны сделать, это сначала раскрыть проблемы, которые возникают в результате неиспользования ограничений внешнего ключа. Попробуйте количественно определить, сколько стоит работа по «очистке недопустимых ссылок». Кроме того, попробуйте определить количество ошибок в бизнес-процессе из-за этих ошибок. Если к этому можно приложить долларовую сумму - еще лучше.

Теперь для эталонного теста вы должны попытаться понять свою рабочую нагрузку, определить, какие операции выполняются чаще всего. Затем набор среду тестирования и повторите эти операции с использованием внешних ключей. Тогда сравните.

Лично я бы не стал сразу утверждать без знания приложений, которые запущены в базе данных, что внешние ключи не стоят производительности. Особенно если у вас есть каскадные удаления и/или обновления в сочетании с составными естественными первичными ключами, то лично я бы опасался проблем с производительностью, особенно тайм-аута или тупиковых транзакций из-за побочных эффектов каскадных операций.

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

-121--1278845-

Основываясь на решении dfilkovi, вы пытались использовать imagesavealpha () для сохранения полной информации альфа-канала?

0
ответ дан 5 December 2019 в 21:20
поделиться

@Sonny

ложное предположение: PNG любой битовой глубины может иметь прозрачность. Он записывается в блоке tRNS изображения png (кроме изображений с истинным цветом) cf определение формата

cf www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.tRNS

idem www.w3.org/TR/PNG-Chunks.html#C.tRNS

Разница в том, как это записывающее устройство: RGBA имеет уникальную запись на пиксель с 4 значениями (3 цвета и 1 альфа-канал), где PNG с палитрой записывает альфа-канал в отдельный блок.

Фейерверк это очень хорошо получается.

Примеры:

http://www.libpng.org/pub/png/pngs-img.html

1
ответ дан 5 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: