0

数日前から、フィルターを使用して画像間をスワイプする方法を熱心に研究してきました。まったく同じ問題がある投稿があります:フィルター処理された画像間をスワイプする

基本的には、snapchat の場合と同じように、フィルタリングされた画像間をスワイプする必要があります。スワイプが次のように発生すると、フィルタが徐々にオーバーレイされます: https://www.youtube.com/watch?v=j75d7Khf6iM

しかし、答えにはサンプルコードが含まれておらず、私の努力は役に立ちませんでした。

私は次のことを試しました:

1)最初に2つの画像を作成してみました。2 番目はフィルタリングされた画像で、1 番目は元の画像です。イメージ 2 に 100%、イメージ 1 に 0% のアルファ マスクを適用したいと考えました。ユーザーがスワイプすると、イメージ 2 のアルファ マスクを減らし、イメージ 1 のイメージ マスクを増やします。私が遭遇したサンプルコードは、問題に遭遇しました。私のCGImageは常にnilです(元の画像がCGImageデータで作成されておらず、CGImageデータを取得する方法がわからないため)

    CGRect rect = CGRectMake(0, 0, 500, 500); 
    CGImageRef imageRef = CGImageCreateWithImageInRect(_picture.image.CGImage, rect);
    UIImage*result = [UIImage imageWithCGImage:imageRef];
    _picture.image = result; CGImageRelease(imageRef);
    //does not work, CGImage is null

2)マスクに関係なく画像をトリミングするつもりでしたが、毎回サイズとスケールがコーディングしようとしているものと一致しません。

上記の回答よりも少し多くの解決策を提供できれば、私は最も感謝しています。別の UIimage を使用せずにアルファ マスクを作成する際に問題が発生し (画像に描画しない領域として機能する四角形を作成したいだけです)、CGImage データを取得する方法がわかりません。これを手伝ったり、このコードを設計する方法についてアドバイスがあれば、私はとても感謝しています!

ありがとうございました!

4

0 に答える 0