[Cocoa]_[简单画图]

总结一些Cocoa画图的常用代码。

一、画点

points(NSPoint)

同直角坐标系一样原点在左下角

结构:

typedef struct _NSPoint{

float x;

float y;

}NSPoint;

使用:

NSPoint thePoint;	//定义

thePoint=NSMakePoint(0,0);		//初始化


二、画长方形

两种初始化的方式

结构1:

typedef struct _NSRect{

NSPoint origin;

NSSize size;

}NSRect;

结构2:

typedef struct _NSSize{

float width;

float height;

}NSSize;

使用:

NSRect theRect1;    //定义
theRect1=NSMakeRect(0,0,100,100);   //初始化

NSRect theRect2;    //定义
theRect2 = NSMakeRect(20,10); //初始化

三、选颜色

两种初始化方式

1:简单方式,用系统已提供的颜色名称

NSColor *aColor;

aColor=[NSColor blackColor];   //黑色
//以下是其它颜色
blackColor 黑色
blueColor 蓝色
brownColor 褐色
cyanColor 青色
DarkGrayColor 深灰色
grayColor 灰色
greenColor 绿色
lightGrayColor 浅灰色
magentaColor 紫红
orangeColor 橙色
purpleColor 紫色
redColor 红色
whiteColor 白色
yellowColor 黄色

2:自己新建颜色

//参数值为0-1,颜色表示[(num +1)/256],alpha表不透明度

NSColor=theColor;//black

theColor=[NSColor colorWithDeviceRed:(float)0.0,

green:(float)0.0 blue:(float)0.0 alpha:(float)1.0];

[theColor set];//设置画笔

四、用线和图形绘画

利用点成线,线成面的原理

画一个矩形

//画一个矩形

NSRect theRect;

theRect=NSMakeRect(0,0,100,100);

NSBezierPath *thePath;

thePath=[NSBezierPath bezierPathWithRect:theRect];

//bezierPathWithOvalInRect 画椭圆

//用颜色填充矩形

NSColor *theColor=[NSColor blackColor];

[theColor set];

[thePath fill];

//画一条线

//画一条线就相当于在一条线周围描个框,并填充它

//在上面已填充的矩形周围描框,需要的操作同上相反

theColor=[NSColor blackColor];

[theColor set];

[thePath setLineWidth:5];

[thePath stroke];

//画任意图形

//用多个点连成线然后填充构成图形,有起始点,其它点以起始点为相对坐标,移动图形时仅需要改变起始点坐标

 

//+X:X右边; -X:X左边; +Y:Y上边; -Y:Y下边

NSBezierPath *stopSign=[NSBezierPath bezierPath];

NSPoint pt1,pt2,pt3,pt4,pt5;//五边形

pt1=NSMakePoint(300,300);

pt2=NSMakePoint(400,300);

pt3=NSMakePoint(450,200);

pt4=NSMakePoint(350,100);

pt5=NSMakePoint(250,200);

[stopSign moveToPoint:pt1];

[stopSign relativeLineToPoint:pt2];

[stopSign relativeLineToPoint:pt3];

[stopSign relativeLineToPoint:pt4];

[stopSign relativeLineToPoint:pt5];

[stopSign closePath];

[[NSColor redColor] set];

[stopSign fill];

[[NSColor whiteColor]set];

[stopSign setLineWide:5];

[stopSign stroke];


五、画文字

    NSMutableAttributedString *s = [[NSMutableAttributedString alloc] initWithString:@"Big Nerd Ranch"];
    //字体大小
    [s addAttribute:NSFontAttributeName value:[NSFont userFontOfSize:22] range:NSMakeRange(0,14)];
    //给字体加下划线
    [s addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:1] range:NSMakeRange(0,14)];
    //字体颜色
    [s addAttribute:NSForegroundColorAttributeName value:[NSColor greenColor] range:NSMakeRange(0,14)];
    [s drawInRect:[self bounds]];

运行结果:

[Cocoa]_[简单画图]_第1张图片

六、显示图片

NSPoint theImagePos=NSMakePoint(0,0)

NSImage * theImage=[NSImage imageNamed:@"mypic.jpg"];

[theImage dissolveToPoint:theImagePos fraction:(1.0)];

//fraction的值表示图片显示的不透明度:1表不透明





你可能感兴趣的:([Cocoa]_[简单画图])