регулировка яркости - PullRequest
       9

регулировка яркости

0 голосов
/ 14 февраля 2011

В настоящее время я разрабатываю приложение, в котором у меня есть UIImageView, который пользователь может свободно перемещать, масштабировать и вращать жестами (я использую код Apple Touches), а затем у него есть возможность изменить его яркость с помощью UISlider. , Метод регулировки яркости прекрасно работает со всеми другими изображениями, но не с тем, который мне нужен для перемещения и воспроизведения, потому что, когда UIImageView начинает скользить, он начинает меняться, но через секунду приложение вылетает, не оставляя никакой информации в консоли Кстати, вот код, где jk - UIImage подвижного UIImageView, а imgVback - фактический подвижный UIImageView:

-(void)doImageStuff:(int)value{
UIImage *jk = imageK;
CGImageRef img=jk.CGImage;
CFDataRef dataref=CopyImagePixels(img);
UInt8 *data=(UInt8 *)CFDataGetBytePtr(dataref);
int length=CFDataGetLength(dataref);
for(int index=0;index<length;index+=4){
    // BRIGHTNESS
    for(int i=0;i<3;i++){
        if(data[index+i]+value<0){
            data[index+i]=0;
        }else{
            if(data[index+i]+value>255){
                data[index+i]=255;
            }else{
                data[index+i]+=value;
            }
        }
    }


}
size_t width=CGImageGetWidth(img);
size_t height=CGImageGetHeight(img);
size_t bitsPerComponent=CGImageGetBitsPerComponent(img);
size_t bitsPerPixel=CGImageGetBitsPerPixel(img);
size_t bytesPerRow=CGImageGetBytesPerRow(img);
CGColorSpaceRef colorspace=CGImageGetColorSpace(img);
CGBitmapInfo bitmapInfo=CGImageGetBitmapInfo(img);
CFDataRef newData=CFDataCreate(NULL,data,length);
CGDataProviderRef provider=CGDataProviderCreateWithCFData(newData);
CGImageRef newImg=CGImageCreate(width,height,bitsPerComponent,bitsPerPixel,bytesPerRow,colorspace,bitmapInfo,provider,NULL,true,kCGRenderingIntentDefault);
[imgVback setImage:[UIImage imageWithCGImage:newImg]];
CGImageRelease(newImg);
CGDataProviderRelease(provider);

}

Сначала я подумал, что что-то идет не так, комбинируя это с действием перемещения / масштабирования / вращения, но даже если я не добавляю никаких жестов в UIImageView, это все равно не работает

что я должен делать?

...