2010-12-15 2 views
1

두 개의 UIImage 오브젝트를 CoreGraphics, 특히 CGContextSetBlendMode을 통해 블렌딩하여 이미지 조작을 수행하는 iPhone 앱이 있습니다. 현재 Android로 이식하는 방법을 연구 중입니다. PorterDuff 모드를 사용하여 Android에서 Bitmap 개체에 결합하는 과정을 거쳤습니다. 그러나 훨씬 복잡한 합성이 필요합니다. 예를 들어, 나는 많은 혼합에 대한 kCGBlendModeHardLight을 사용하고 있습니다 :CoreGraphics 블렌드 모드를 Porter-Duff에 매핑하기

중 하나를 곱하거나 스크린합니다 색상을, 을 원본 이미지 샘플 색상에 따라. 원본 이미지 샘플 의 색이 50 % 회색보다 밝 으면 스크린과 유사하게 배경이 밝아집니다 ( ). 원본 이미지 샘플 색이 50 % 회색보다 어두우면 곱하기와 비슷하게 배경이 어두워집니다. 원본 이미지 샘플 색상이 50 % 회색 인 경우 원본 이미지는 변경되지 않습니다. 순수한 검은 색 또는 순수한 흰색 인 이미지 은 순수한 검정 색이거나 흰색입니다. 전반적인 효과는 과 비슷합니다. 소스 이미지에 거친 스포트라이트를 비추면 얻을 수있는 효과를 얻을 수 있습니다. 장면에 하이라이트를 추가 할 때 사용합니다.

어쨌든 (심지어 가능하다면) Porter-Duff를 통해 이것을 에뮬레이트 할 수는 없습니다. 안드로이드는 더 나은 이미지 조작 알고리즘을 즉시 사용할 수 있습니까? 더 진보 된 블렌드 모드를 에뮬레이션하기 위해 Porter-Duff를 어떤 방법으로 사용할 수 있습니까?

답변

3

12 개의 Porter-Duff 혼합 방정식 외에도 Android는 밝게, 어둡게, 곱하기, 화면 및 곧 오버레이를 지원합니다. 불행하게도 이는 HardLight를 사용할 수 없다는 것을 의미하며 직접 구현해야합니다.

+0

답변 주셔서 감사합니다. – MarkPowell