Подумайте, это то, что вы ищете: Как вызвать функцию JavaScript из PHP?
Файл PHP на стороне сервера - да, так что Javascript зависит от того, что вы делаете с Это. PHP может абсолютно выполнить скрипт Javascript в своем основном .php-файле. Вы просто не можете нигде включать в свою программу, как раньше.
Ниже приведен пример запуска сценария Javascript, который просто предупреждает браузер о строке «pong». Обратите внимание, как выполняется оператор PHP.
Мы могли бы быть более полезными, если вы опубликовали полный код и очень эффективно и подробно объяснили, на что вам нужно было ответить.
Скопируйте и вставьте этот код в файл PHP самостоятельно, чтобы вы могли без каких-либо ошибок протестировать ваш полный код: index.php
ControlPaint .Light .Dark .DarkDark и т. Д.
Color lightRed = ControlPaint.Light( Color.Red );
Вот код JavaScript, который я использую для осветления / затемнения данного цвета. Вы можете использовать его в качестве основы для эквивалентной функции C #
. Она работает путем вычисления расстояния от чистого белого каждого из компонентов RGB, а затем корректирует это расстояние с помощью предоставленного коэффициента. Новое расстояние используется для расчета нового цвета. Коэффициент от 0 до 1 темнеет, коэффициент выше 1 светлее
function Darken( hexColor, factor )
{
if ( factor < 0 ) factor = 0;
var c = hexColor;
if ( c.substr(0,1) == "#" )
{
c = c.substring(1);
}
if ( c.length == 3 || c.length == 6 )
{
var i = c.length / 3;
var f; // the relative distance from white
var r = parseInt( c.substr(0, i ), 16 );
f = ( factor * r / (256-r) );
r = Math.floor((256 * f) / (f+1));
r = r.toString(16);
if ( r.length == 1 ) r = "0" + r;
var g = parseInt( c.substr(i, i), 16);
f = ( factor * g / (256-g) );
g = Math.floor((256 * f) / (f+1));
g = g.toString(16);
if ( g.length == 1 ) g = "0" + g;
var b = parseInt( c.substr( 2*i, i),16 );
f = ( factor * b / (256-b) );
b = Math.floor((256 * f) / (f+1));
b = b.toString(16);
if ( b.length == 1 ) b = "0" + b;
c = r+g+b;
}
return "#" + c;
}
Использование библиотеки HSI Converter (поиск в Google). Затем настройте I-канал на более светлый / темный цвет.
Вы также можете сделать это с помощью функции Lerp
. Он есть в XNA, но его легко написать самому.
См. мой ответ на этот аналогичный вопрос для реализации C #.
Функция позволяет вам сделать это:
// make red 50% lighter:
Color.Red.Lerp( Color.White, 0.5 );
// make red 75% darker:
Color.Red.Lerp( Color.Black, 0.75 );
// make white 10% bluer:
Color.White.Lerp( Color.Blue, 0.1 );