2011-08-31 4 views
4

나는 내가 원하는 것을 설명하는 방법조차 모르지만 여기에 있습니다. 3 개의 텍스트 상자가 있다고 가정하고 처음에 몇 가지 색상 16 진 코드를 입력하고 그 위에 검은 색 레이어를 적용하고 불투명도를 50 %로 설정하여 두 번째 텍스트 상자에 결과 색상을 가져옵니다. 똑같은 점이 있지만 세 번째 것은 흰색입니다.흑백의 불투명도를 적용한 후 색상 생성

설명해 드리죠 : 아래의 이미지를 고려 : 포토샵에서

enter image description here

을, 나는 색상 하늘색의 일종이다베이스 레이어가 있습니다. 그 위에 두 개의 레이어를 만듭니다. 하나는 검정, 하나는 흰색이지만 둘 다 불투명도는 50 %입니다. 이제 색상 선택 도구 (I)를 사용하여 원하는 색상을 간단히 선택할 수 있습니다.

프로그래밍 할 수 있는지 궁금한 내용이므로 시간이 너무 많이 걸립니다.

나는 알고있다. 나는 이상하게도 뭔가를 시험해보고, 작동하지 않는 코드를 내놓았어야했다. 그러나 이것은 내가 시작 해야할지조차 몰라서 충분히 저주했다. 내가 본 가장 가까운 것은 Kuler입니다. 그래서 적어도 플래시에서는 가능하다고 생각합니다.하지만 다시 시작해야 할 부분을 모르겠습니다.

혹시 올바른 방향으로 나를 가르쳐 주시겠습니까? jQuery에서 수행 할 수 있다면 이상적입니다. 그러나 주위를 둘러 보았고 꽤 비슷한 것을 찾을 수 없었습니다. 나는 올바른 방향으로 단지 찔러 넣는 작업 해결책을 요구하지 않고있다.

질문이 있으시면 언제든지 문의하십시오.

기술은 내게 중요하지 않다. 해결책은이다. 나는 적어도 내가 편안하다고 생각한다.하지만 적어도 PHP에서는 초보자이다. Jquery, 나는 대부분의 것들을 잘 처리하고있다 (글쎄, 누가 그렇지 않은가?) - 어떤 작품이 좋든간에. PHP와 플래시, 나는 취미로 익숙해졌습니다.

감사합니다.

+2

이것을 C#에서 지금 보아라. 임 꽤 확신. 위의 이미지에서 1 포인트 만 오류가 발생하면 흑백 오버레이 결과는 동일한 16 진 코드입니다. – Jamiec

+0

@Jamiec - 오, 내 실수는 그것을 바로 잡을 것입니다. 감사합니다. - 그리고 지금 고쳐졌습니다. – iamserious

답변

2

그래서 내가 가까이 갈 수 있지만, 정확히 내가 생각하는 결과는 색상을 만들 때 알파의 범위 1..255에 숫자를 사용하여 .NET의 부작용이다.

그러나 그럼에도 불구하고, 나는이 꽤 많이 당신이 원하는 것을 생각 :

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 

원하는 결과를 닫기 만, 정확히.

편집 :이 유틸리티에 128에 알파 값을 변경하는 경우는

블랙 얻을 : # 9acfff
화이트 : # 이것은 당신이 원하는 가까이, 그러나 수도 1a4f7f

을 그 여전히 정확한 것은 아닙니다.

+1

안녕하세요, 이것은 내가 원하는 것에 충분히 가깝습니다. 이렇게하면됩니다! 감사! 할 수 있으면 더 많은 점수를 주겠다. 다시 한번 고마워한다. – iamserious

0

그래서 ... 가장 잘 아는 기술을 사용하여 정확히 말한 것을 쓰면 무엇이 문제입니까? 색상이있는 3 개의 상자, 불투명도 백분율을 입력하고 혼합 색상으로 출력합니다. (플래시로 쓸 수는 있지만 전체 프로그램에 대한 정보가이 사이트에 적합한 지 확실하지 않습니다.)

불투명도와 색상을 혼합하는 방법을 모르면이 링크가 도움이됩니다.

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

+0

안녕하세요, 죄송합니다, 어떤 언어입니까? 플래시에서 색상을 조작 할 수있는 링크를 줄 수 있습니까? 감사. – iamserious

+0

이것은 의사 코드입니다. AFAIK, 전체 비트 맵 측면에서만 낮은 수준의 플래시에서 색상을 조작 할 수있는 도구가 없습니다. – moropus

+0

@moropus : 색상 조작은 기본적인 것입니다. 작업 스크립트도 매우 강력합니다. 이것이 충분하지 않은 것처럼 [Easel] (http://www.oinutter.co.uk/2011/02/13/easel-an-as3-colour-manipulation-library/), ([ 데모] (http://www.oinutter.co.uk/easel/)) 라이브러리를 제공합니다. – LocustHorde

2

나는 파티에 늦었을 뿐이며, 다른 일을하고 싶었다.

거기에 jquery 색상 플러그인이 있습니다. 실제로 사용하지는 않았지만 원하는 기능을 수행합니다 .. xColor은 찾고있는 플러그인입니다. combination section으로 가면 당신은 그것이 당신이 원하는 것을한다는 것을 알게 될 것입니다.

방금 ​​시도한 결과는 sample on jsfiddle이지만 그 결과는 Jamie's amazing answer과 같습니다. 이것은 Jamie의 코드와 같은 결과 색상을 제공합니다. 그렇게 생각 하셔도 좋습니다.

+0

이것은 또한 좋은 대답입니다. 이미 jamiec의 코드를 사용했습니다. 그래도이 점을 명심하십시오. – iamserious

+1

좋은 답변입니다. jQuery 플러그인에서 찾을 수있다. 또한, 우리의 결과가 옳았고 포토샵의 색상 선택기가 작동하는 방식을 생각하기 시작한 메신저가 깨졌습니다. – Jamiec

+0

@Jamiec, 확실하지는 않지만 포토샵이하는 일에 주인공이 될 것이라고 생각했을 것입니다. 색상을 선택하는 데 핀 포인트가 정확할 것입니다.하지만 다시 C# AND jquery가 같은 결과를 내고 있습니다. 내가 분명히 색에 대해 이해하지 못하는 무언가가 있음을 제시하십시오! – LocustHorde

관련 문제