Создание цветов после нанесения непрозрачности черно-белого

Я даже не знаю, как описать то, что я хочу, но здесь. Предположим, у меня есть 3 текстовых поля, и я ввожу в первый шестнадцатеричный код цвета, я хочу применить к нему черный слой и установить непрозрачность на 50% и получить полученный цвет во втором текстовом поле. То же самое, но с белым на третьем.

Позвольте мне объяснить: рассмотрим этот образ ниже:

введите описание изображения здесь

В Photoshop у меня есть базовый слой, который имеет вид неба голубого цвета. Я создаю два слоя сверху, один с черным, один с белым, но оба имеют непрозрачность 50%. Теперь я могу использовать набор цветов (I), чтобы просто выбрать два требуемых цвета.

Мне нужно сделать это безумное количество раз, поэтому мне было интересно, могу ли я произвести его программно.

Я знаю, в идеале я должен был что-то пробовать, а затем выдавать код, который не работает … но это сильно меня насторожило, и я даже не знаю, с чего начать. Самое близкое, что я видел, это Kuler, поэтому я думаю, что это возможно во Flash, по крайней мере, но опять же, я не знаю, с чего начать.

Можете ли вы, ребята, указать мне в правильном направлении? В идеале, это было бы намного лучше, если бы это выполнимо в jQuery, но я огляделся и не мог найти ничего подобного. Я не прошу рабочего решения , просто толчок в правильном направлении.

Если у вас есть какие либо вопросы, пожалуйста спрашивайте.

Технология для меня не важна, решение – мне больше всего нравится c # (по крайней мере, мне нравится думать, что я есть), но я новичок в php, flash. Jquery, я хорош в этом с большинством вещей (ну, а кто нет?) – Все, что работает, хорошо для меня. Php и Flash, я узнал это как хобби, чтобы просто познакомиться.

Большое спасибо.

Поэтому я могу приблизиться, но не совсем ваши результаты, которые, по моему мнению, являются побочным эффектом .NET, используя число в диапазоне 1..255 для альфы при создании цвета.

Но, тем не менее, я думаю, что это в значительной степени делает то, что вы хотите:

 public class ColorUtility { private Color color; public ColorUtility(Color original) { this.color = original; } public Color GetTransformedColor(Color overlay) { using(var bitmap = new Bitmap(1,1)) { var g = Graphics.FromImage(bitmap); using(Brush baseBrush = new SolidBrush(this.color)) { g.FillRectangle(baseBrush,0,0,1,1); } using(Brush overlayBrush = new SolidBrush(Color.FromArgb(127,overlay))) { g.FillRectangle(overlayBrush,0,0,1,1); } return bitmap.GetPixel(0, 0); } } } 

Применение:

  var startColor = ColorTranslator.FromHtml("#359eff"); var util = new ColorUtility(startColor); var blackOverlay = util.GetTransformedColor(Color.Black); // yields #9aceff var whiteOverlay = util.GetTransformedColor(Color.White); // yields #1b4f80 

Близко к желаемым результатам, но не совсем.

EDIT: Если вы измените альфа-значение на 128 в утилите, которую вы получаете

Черный: # 9acfff
Белый: # 1a4f7f

Это может быть ближе к тому, что вы хотите, но его все еще не точно.

Я знаю, что опаздываю на вечеринку, просто хотел показать другой способ сделать это.

Для этого есть плагин цвета jquery, я никогда не использовал это, но есть функция, которая выглядит так, как будто она делает то, что вы хотите. XColor – это плагин, который вы ищете. Если вы зайдете в секцию комбинации, вы увидите что он говорит, что делает то, что вы хотите.

Я просто попробовал образец на jsfiddle, но результаты соответствуют удивительному ответу Джейми . это дает те же цвета результата, что и код Джейми. поэтому вы можете использовать либо я думаю.

Итак … В чем проблема просто написать то, что вы сказали, используя технологию, которую вы знаете лучше всего? 3 коробки с цветами, вход для процента непрозрачности и выход в виде смешанных цветов. (Я могу записать его на флеш-память, но я не уверен, что на этом сайте будет выделена вся программа.)

Если вы не знаете, как смешивать цвета с непрозрачностью, эта ссылка должна помочь:

http://www.pegtop.net/delphi/articles/blendmodes/opacity.htm