9

既存のUIViewの色をすばやく反転させようとしています(写真のネガのようにネガに変えます)。または、色を取り、彩度を下げます。ビットマップを操作するよりも簡単なのは、すべて白(またはシェード)の別のUIViewを取得し、ブレンドモードを使用して目標を達成することです。

UIViewを別のUIViewの上に描画する方法を指示する方法がわかりません。UIViewをサブクラス化しても、ブレンドを使用して描画する簡単な方法がわかりません。drawrect:withBlendModeを持つUIImageViewをサブクラス化する必要があるようです。

誰かがこれをもっと簡単な方法でやったことがありますか?UIViewまたはUIImageViewにblendmodeプロパティを設定するだけで、サブクラス化する必要がないことを望んでいました...

基本的に、黒が白になり、白が黒になるように、ビューをすばやく反転するにはどうすればよいですか?

4

1 に答える 1

7

これが解決策のようです:

UIViewのサブクラスを作成します。次に、drawRectで:

    [self.image drawInRect:rect];

    // prepare the context to draw into
    CGContextRef context = UIGraphicsGetCurrentContext();

    // set the blend mode
    CGContextSetBlendMode(context, kCGBlendModeDifference);

    // now draw the appropriate color over the whole thing
    CGContextFillRect(....);

私は今これを試してみるつもりです。

于 2009-09-03T23:33:29.473 に答える