0

1 つの画像に 2 つのフィルターを使用しています。問題は簡単に理解できます。一方のスライダーを動かすとフィルターは正常に適用されますが、もう一方のスライダーを動かすと画像が元にリセットされ_tempImageます。に置き換えてみまし _justNowImage.image = quickFilteredImage;_tempImage = quickFilteredImage;が、結果はおかしくなっているフィルターです。

ありがとう

   - (IBAction)sharpenSliderChanged:(id)sender
    {   
        GPUImageSharpenFilter *sharpenFilter = [[GPUImageSharpenFilter alloc] init];
        [sharpenFilter setSharpness:sharpenSlider.value];
        UIImage *quickFilteredImage = [sharpenFilter imageByFilteringImage: _tempImage];
        _justNowImage.image = quickFilteredImage;
    }

    - (IBAction)exposureSliderChanged:(id)sender
    {
        GPUImageExposureFilter *exposureFilter = [[GPUImageExposureFilter alloc] init];
        [exposureFilter setExposure:exposureSlider.value];
        UIImage *quickFilteredImage = [exposureFilter imageByFilteringImage: _tempImage];
        _justNowImage.image = quickFilteredImage;
    }
4

1 に答える 1

1
    UIImage *quickFilteredImage = [exposureFilter imageByFilteringImage: _tempImage];

元の画像にのみ異なるフィルターを適用しています..ie _tempImage

これらの行を両方のメソッドの最後に追加します

_tempImage = quickFilteredImage
于 2012-12-29T11:27:36.723 に答える