문제

저는 Android와 함께 일하고 있으며 미리 정해진 크기의 비트 맵을 미리 정해진 색상으로 채우기 위해 빠른 방법이 필요합니다.

그러나 다음 코드는 나에게 효과가 없습니다.

비트 맵 입력은 변한 비트 맵입니다

    int old = input.getPixel(0, 0);
    Canvas c = new Canvas(input);
    Rect rect = c.getClipBounds(); // The dimensions of the bitmap are returned
    c.drawARGB(a, r, g, b);
    int n = input.getPixel(0, 0);
    if(old==n)
        Log.e(TAG, "Values didn't change!");
    return input;

안심하십시오. '오래된'값과 (a | r | g | b)의 값은 다르지만, 밑면 아래에 캔버스를 사용하여 색상을 '그려'하면 비트 맵은 오래된 값을 유지합니다.

비트 맵과 색상 값을 취하고 그 색상으로 채워진 비트 맵을 반환하는 모든 방법에 만족합니다.

도움이 되었습니까?

해결책

나는 충분한 정보를 제공하지 않았다!

내 알파 가치는 범위를 벗어났습니다.

int a = 0xFF<<24

그래서 내가 전화했을 때

c.drawARGB(a,r,g,b);

조용히 실패했고 값을 바꾸지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top