2016-05-02 4 views

答えて

0

iOS CoreGraphicsフレームワークでは、Porter-Duffなどの次の種類のブレンディングモードがサポートされています。

typedef CF_ENUM (int32_t, CGBlendMode) { 
    /* Available in Mac OS X 10.4 & later. */ 
    kCGBlendModeNormal, 
    kCGBlendModeMultiply, 
    kCGBlendModeScreen, 
    kCGBlendModeOverlay, 
    kCGBlendModeDarken, 
    kCGBlendModeLighten, 
    kCGBlendModeColorDodge, 
    kCGBlendModeColorBurn, 
    kCGBlendModeSoftLight, 
    kCGBlendModeHardLight, 
    kCGBlendModeDifference, 
    kCGBlendModeExclusion, 
    kCGBlendModeHue, 
    kCGBlendModeSaturation, 
    kCGBlendModeColor, 
    kCGBlendModeLuminosity, 

    /* Available in Mac OS X 10.5 & later. R, S, and D are, respectively, 
     premultiplied result, source, and destination colors with alpha; Ra, 
     Sa, and Da are the alpha components of these colors. 

     The Porter-Duff "source over" mode is called `kCGBlendModeNormal': 
     R = S + D*(1 - Sa) 

     Note that the Porter-Duff "XOR" mode is only titularly related to the 
     classical bitmap XOR operation (which is unsupported by 
     CoreGraphics). */ 

    kCGBlendModeClear,     /* R = 0 */ 
    kCGBlendModeCopy,     /* R = S */ 
    kCGBlendModeSourceIn,    /* R = S*Da */ 
    kCGBlendModeSourceOut,    /* R = S*(1 - Da) */ 
    kCGBlendModeSourceAtop,    /* R = S*Da + D*(1 - Sa) */ 
    kCGBlendModeDestinationOver,  /* R = S*(1 - Da) + D */ 
    kCGBlendModeDestinationIn,   /* R = D*Sa */ 
    kCGBlendModeDestinationOut,   /* R = D*(1 - Sa) */ 
    kCGBlendModeDestinationAtop,  /* R = S*(1 - Da) + D*Sa */ 
    kCGBlendModeXOR,     /* R = S*(1 - Da) + D*(1 - Sa) */ 
    kCGBlendModePlusDarker,    /* R = MAX(0, (1 - D) + (1 - S)) */ 
    kCGBlendModePlusLighter    /* R = MIN(1, S + D) */ 
}; 

Porter-Duffブレンドを達成する方法を示す次のアップルのデベロッパーリンクです。

https://developer.apple.com/library/ios/samplecode/QuartzDemo/Listings/QuartzDemo_QuartzBlendingViewController_m.html

は、この情報がお役に立てば幸いです。

関連する問題