2010-02-23 4 views
2

가변 배경 UIImage 위에 투명한 배경으로 레이블을 배치해야합니다. 가독성은 라벨 텍스트의 색상과 라벨 아래에 표시된 이미지 영역의 색상/광도 간의 관계에 따라 크게 달라집니다. 이미지가 끊임없이 변하기 때문에 레이블의 텍스트 색상이 동기화되어 변경되어야합니다.iPhone : UIImage의 평균 밝기/어두움을 결정하는 방법

나는 단일 픽셀의 color, perceived luminosity 등을 결정하기위한 몇 가지 기술을 발견했다. 그러나, 나는 오히려 (보기가로드되는 동안) UILabel 프레임 아래에서 UIImage 영역의 거친인지 색/광도를 결정해야합니다. 나는 또한 다른 알파 값에서 동일한 색/광도가 다르기 때문에 알파를 측정해야한다고 가정합니다.

지역에 대해 이러한 값을 계산하는 방법이 있습니까? 단순히 픽셀 합산으로 축소됩니까? 그렇다면이를 구현하는 알고리즘이 있습니까?

가 나는 두 가지 방법을 생각했습니다

  1. 다른 절반 면적의 절반의 픽셀을 결합 일부 "접이식"작업 즉를 수행합니다. 그런 다음 하나의 값을 얻을 때까지 반복하십시오. 이것이 실용적일까요? 픽셀을 논리적으로 결합하여 인식 된 색상/광도를 평균화하는 방법은 무엇입니까?
  2. 해당 지역에서 통계적으로 의미있는 수의 픽셀을 샘플링 한 다음 (어쨌든) 결합하여 대략적인 측정 값을 얻습니다.

저는이 문제가 요즘 커스 터 마이징 배경을 발견 한 사람들과 많이 관련되어 있다고 생각합니다. 내 시간에 가치있는 무언가가이 범주를 처리하고이를 처리하고 그 내용을 공유 할 수있는 것처럼 보입니다.

답변

1

어둡고 밝은 배경 모두에 표시되는 방식으로 텍스트를 간단하게 요약하면 어떨까요?

알려지지 않은 내용 (예 : 자막이있는 필름)이있는 배경 위에 텍스트를 표시해야하는 다른 상황에서이 방법을 처리하는 방법입니다.

+0

확장 할 수 있습니까? 그림자 같은 것을 추가한다는 의미입니까? 텍스트를 윤곽을 그리는 방법을 모르겠습니다. 레이블의 텍스트도 변수 일 수 있으므로 이미지를 사용할 수는 없습니다. 텍스트가 다소 작아서 선명도가 중요 할 수 있습니다. – TechZen

+0

실제 UILabel에서 어떻게 처리되었는지는 잘 모르겠지만 드로잉 호출을 할 때 CGContextSetTextDrawingMode (ctx, kCGTextFillStroke)를 사용하고 CGContextSetRGBStrokeColor와 CGContextSetRGBFillColor를 상당히 정반대의 색상으로 설정 한 다음 CGContextShowTextAtPoint를 표시 할 텍스트. –

+0

나는 그것을 시도 할 것이다. 그것은 내가 지금하고있는 것에 대해 생각하고있는 것보다 간단합니다. – TechZen

관련 문제