macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

-colorizeByMappingGray:toColor:blackMapping:whiteMapping:

INDEX>AppKit>NSBitmapImageRep

カラー画像をグレイスケールにして返します

Objective-C

-(void)colorizeByMappingGray:(float)midPoint:
        toColor:(NSColor *)midPointColor:
        blackMapping:(NSColor *)shadowColor:
        whiteMapping:(NSColor *)lightColor:

Swift

func colorizeByMappingGray(_ midPoint: CGFloat,
                   toColor midPointColor: NSColor?,
              blackMapping shadowColor: NSColor?,
              whiteMapping lightColor: NSColor?)

解説

カラー画像をグレイスケールにして返します。

返り値

Objective-C

( void )

Swift

なし

引数

Objective-C

( float )midPoint

Swift

func colorizeByMappingGray(_ midPoint: CGFloat,

中間点

Objective-C

( NSColor * )midPointColor

Swift

toColor midPointColor: NSColor?

中間点のカラー

Objective-C

( NSColor * )shadowColor

Swift

blackMapping shadowColor: NSColor?

シャドウカラー

Objective-C

( NSColor * )lightColor

Swift

whiteMapping lightColor: NSColor?

ライトカラー

フレームワーク

ApplicationKit

クラス

NSBitmapImageRep

使用可能

10.0

参照

例文

Objective-C

#import "SetImage.h"

@implementation SetImage

- (IBAction)set:(id)sender
{
    //開けるファイル拡張子の配列
    NSArray      *imgTypes    = [ NSArray arrayWithObject : @"tiff" ];
    //OpenPanelを作る
    NSOpenPanel  *opImage       = [ NSOpenPanel openPanel ];
    //Imageを作る
    NSImage      *img = [[[NSImage alloc] initWithSize:NSMakeSize(200,200)] autorelease];
    NSBitmapImageRep *bmpRep;
    NSData *dat;
    NSColor *tCol = [NSColor colorWithDeviceWhite:0.5 alpha:1];//カラー作成
    NSColor *bCol = [NSColor colorWithDeviceWhite:0.0 alpha:1];//カラー作成
    NSColor *wCol = [NSColor colorWithDeviceWhite:1.0 alpha:1];//カラー作成
  float mPoint = 0.5;   
    //OpenPanelの結果のボタン番号
    int		  opRet;
     
        //OpenPanelでファイル選択   
    opRet = [ opImage runModalForDirectory : NSHomeDirectory() //どこのディレクトリを出すか
                                     file : @"Pictures" //どのどのファイルを選択しておくか
                                    types : imgTypes ];//選べるファイルタイプ

    if ( opRet == NSOKButton ) {  // OPENPanelのボタンがOKなら
        //NSDataを作ってファイルから読み込む
        dat = [NSData dataWithContentsOfFile: [ opImage filename ] ];
        bmpRep = [NSBitmapImageRep imageRepWithData:dat];
        [img addRepresentation:bmpRep];
        [image setImage:img];
[bmpRep colorizeByMappingGray:mPoint
                        toColor:tCol
                        blackMapping:bCol
                        whiteMapping:wCol
                        ];
     
        //NSLog([NSString stringWithFormat:@"bit / pixel:%.1f",]);
    }
}

@end


Swift