2011-08-13 5 views
3

카메라를 사용하여 실시간 이미지 처리를 수행하는 앱을 만들고 있습니다. 나는 자바로 코드를 작성했으며, 이제는 코드를 네이티브 코드로 포팅하여 속도를 높이려고한다. Java 코드의 핵심 부분은 Color.rgb (android.Graphics library) 메서드를 사용하여 픽셀 크기의 배열을 "color-ints"(문서에서 제공 한 설명)로 변환하는 것입니다. 코드의 특정 라인은 :Android에서 Color.rgb의 기능은 무엇입니까?

화소 그때 캔버스에 색의 int의 배열을 그리 drawBitmap 방법을 사용하여 0에서 255 사이의 정수이고
Color.rgb(pixel, pixel, pixel) 

. 예. B : & W 이미지가 필요하다는 것을 알고 있습니다.

이제 픽셀 강도를 내 C 코드의 color-int로 변환해야하며 위의 메서드를 C에 라이브러리가 없으므로 사용할 수 없습니다. color-ints가 무엇 인지도 확실하지 않습니다. 첫 번째 장소. 누군가가 Color.rgb 메서드가 실제로 강도 값에 대해하는 것을 나에게 설명 할 수 있다면 C. Cres의 코드를 수동으로 코딩 할 수 있습니다.

+0

'Color # rgb()'메소드 소스 코드를 살펴 보았습니까? –

답변

4

는 살펴 보자

public static int rgb(int red, int green, int blue) { 
    return (0xFF << 24) | (red << 16) | (green << 8) | blue; 
} 

Source

+0

소스 코드를 볼 수 없다는 사실을 알고 계셨습니까? 건배, 나는 지금 매우 어리 석다. – NavMan

+0

신경 쓰지 마라. 많은 사람들은 그것을 깨닫지 못하지만 때로는 매우 편리합니다 :). – mibollma

1

A "컬러 INT가"각 성분이 8 비트로 자체 인 패킹 32 비트 (ARGB) 컬러 값이다.

rgb은 신중한 값을 "color-int"로 바꾸는 도우미입니다. alpha을 보면 red, greenblue 설명서는 rgb의 출처를 보지 않고이를 추론 할 수있는 충분한 정보를 제공합니다.

해피 코딩.

관련 문제