2016-12-30 9 views
1

우분투에서 x lib를 사용하여 이미지를 어둡게 만들 예정입니다. 여기 내 코드가있다.리눅스에서 x-window lib를 사용하여 이미지를 어둡게 만드는 방법

XImage* getCorrectedImage(Pixmap p){ 
    int buflen, i; 
    XImage* img = XGetImage(g_display, p, 0, 0, g_width, g_height, AllPlanes, ZPixmap); 
    buflen = img->width * img->height * img->bitmap_pad/8; 
    for(i = 0; i < buflen; i++){ 
     img->data[i] /= 2; 
    } 
} 

는 그 결과 이미지는 다음과 같이이다 :

Image

+0

변경할 예상 RGB 값 외에도 감마 값을 변경하는 것이 궁금합니다. img-> data에는 RGB 3 배 이상이 포함되어 있습니다. 아마 4 바이트가 포함될 가능성이 있습니다. XGetPixel()/XSetPixel()을 사용하여 값을 변경하십시오. – Bert

+0

우분투 컴퓨터에 대한 흥미로운 이미지 선택입니다. 비과학적인 생각으로 당신은 idexed-color 8 비트 Pixmap을 조작하려고합니다. BTW bitmap_pad는 픽셀 당 바이트 수가 아닙니다. –

답변

0

은 컬러 모드의 문제입니다. 그것은 24 비트 컬러 모드가 아닙니다. 16 비트 컬러 모드를 사용해야합니다.

+0

그건 재미 있어요. 24 비트 모드를 의미합니까? –