資源簡介
Cocoa下簡單的繪圖操作,用兩種方法實現(xiàn)。

代碼片段和文件信息
//
//??MyView.m
//??test_draw
//
//??Created?by?mac-mini7?on?10/12/15.
//??Copyright?(c)?2015?QXS.?All?rights?reserved.
//
#import?“MyView.h“
@implementation?MyView
-?(id)initWithframe:(NSRect)frame
{
????self?=?[super?initWithframe:frame];
????if?(self)?{
????????//?Initialization?code?here.
????}
????
????return?self;
}
-?(void)drawRect:(NSRect)dirtyRect
{
????//?Drawing?code?here.
????
????//1.畫線
????//(1)直線的本質(zhì)是一個高度較小的矩形
????NSRect?rect5?=?NSMakeRect(50?70?350?5);
????NSBezierPath?*path1?=?[NSBezierPath?bezierPathWithRect:rect5];
????[[NSColor?redColor]?set];
????[path1?fill];
????
????//(2)通過兩個點畫直線
????NSBezierPath?*path?=?[NSBezierPath?bezierPath];
????NSPoint?pt1?=?NSMakePoint(50?50);
????NSPoint?pt2?=?NSMakePoint(350?0);
????[path?moveToPoint:pt1];
????[path?relativeLineToPoint:pt2];
????[path?setLineWidth:5];
????[[NSColor?blueColor]?set];
????[path?stroke];
????
????//(3)CGContentext
????CGContextRef?myContext?=?[[NSGraphicsContext??currentContext]?graphicsPort];
????CGContextSetRGBFillColor?(myContext?0?255?0?1);
????CGContextFillRect?(myContext?CGRectMake?(50?30?350?5?));
????
????//2.畫矩形
????//(1)NSBezierPath
????NSRect?rect1?=?NSMakeRect(200?200?50?50);
????NSBezierPath?*thePath1?=?[NSBezierPath?bezierPathWithRect:rect1];
????NSColor?*theColor1?=?[NSColor?blueColor];
????[theColor1?set];
????[thePath1?fill];
????
????NSRect?rect2?=?NSMakeRect(250?200?50?50);
????NSBezierPath?*thePath2?=?[NSBezierPath?bezierPathWithRect:rect2];
????NSColor?*theColor2?=?[NSColor?greenColor];
????[theColor2?set];
????[thePath2?fill];
????
????NSRect?rect3?=?NSMakeRect(200?150?50?50);
????NSBezierPath?*thePath3?=?[NSBezierPath?bezierPathWithRect:rect3];
????NSColor?*theColor3?=?[NSColor?redColor];
????[theColor3?set];
????[thePath3?fill];
????
????NSRect?rect4?=?NSMakeRect(250?150?50?50);
????NSBezierPath?*thePath4?=?[NSBezierPath?bezierPathWithRect:rect4];
????NSColor?*theColor4?=?[NSColor?yellowColor];
????[theColor4?set];
????[thePath4?fill];
????
????//(2)CGContent
????CGContextRef?myContext2?=?[[NSGraphicsContext??currentContext]?graphicsPort];
????CGContextSetRGBFillColor?(myContext2?255?0?255?1);
????CGContextFillRect?(myContext2?CGRectMake?(100?100?300?45?));
????
????//3.畫字體
????//(1)NSMutableAttributedString
????NSMutableAttributedString?*s?=?[[NSMutableAttributedString?alloc]?initWithString:@“Big?Nerd?Ranch“];
????//字體大小
????[s?addAttribute:NSFontAttributeName?value:[NSFont?fontWithName:@“Arial?Black“?size:22]?range:NSMakeRange(014)];
????//給字體加下劃線
????[s?addAttribute:NSUnderlinestyleAttributeName?value:[NSNumber?numberWithInt:1]?range:NSMakeRange(03)];
????//字體顏色
????[s?addAttribute:NSForegroundColorAttributeName?value:[NSColor?greenColor]?range:NSMakeRange(08)];
????//上下移動
????[s?addAttribute:NSSuperscriptAttributeName?value:[NSNumber?numberWithInt:1]?range:NSMakeRange(0?5)];
????[s?drawInRect:[self?bounds]];
????
????//(2)CGContext
????NSPoint?point?=?NSMakePoint(80?80);
????CGContextRef?myContext3?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-10-14?18:15??test_draw\
?????文件????????6148??2015-10-13?16:54??test_draw\.DS_Store
?????目錄???????????0??2015-10-14?18:24??__MACOSX\
?????目錄???????????0??2015-10-14?18:24??__MACOSX\test_draw\
?????文件?????????120??2015-10-13?16:54??__MACOSX\test_draw\._.DS_Store
?????文件?????????182??2015-10-12?16:37??test_draw\MyView.h
?????文件?????????171??2015-10-12?16:37??__MACOSX\test_draw\._MyView.h
?????文件????????3498??2015-10-14?18:15??test_draw\MyView.m
?????文件?????????171??2015-10-14?18:15??__MACOSX\test_draw\._MyView.m
?????文件?????????495??2015-10-12?16:36??test_draw\myViewViewController.m
?????文件?????????171??2015-10-12?16:36??__MACOSX\test_draw\._myViewViewController.m
?????文件????????5164??2015-10-12?16:33??test_draw\myViewViewController.xib
?????文件?????????171??2015-10-12?16:33??__MACOSX\test_draw\._myViewViewController.xib
?????目錄???????????0??2015-10-13?16:06??test_draw\test_draw\
?????文件?????????333??2015-10-13?14:25??test_draw\test_draw\AppDelegate.h
?????目錄???????????0??2015-10-14?18:24??__MACOSX\test_draw\test_draw\
?????文件?????????171??2015-10-13?14:25??__MACOSX\test_draw\test_draw\._AppDelegate.h
?????文件????????1029??2015-10-13?16:06??test_draw\test_draw\AppDelegate.m
?????文件?????????171??2015-10-13?16:06??__MACOSX\test_draw\test_draw\._AppDelegate.m
?????目錄???????????0??2015-10-13?15:28??test_draw\test_draw\en.lproj\
?????文件?????????436??2015-10-12?15:54??test_draw\test_draw\en.lproj\Credits.rtf
?????目錄???????????0??2015-10-14?18:24??__MACOSX\test_draw\test_draw\en.lproj\
?????文件?????????171??2015-10-12?15:54??__MACOSX\test_draw\test_draw\en.lproj\._Credits.rtf
?????文件??????????45??2015-10-12?15:54??test_draw\test_draw\en.lproj\InfoPlist.strings
?????文件?????????171??2015-10-12?15:54??__MACOSX\test_draw\test_draw\en.lproj\._InfoPlist.strings
?????文件??????154738??2015-10-13?15:28??test_draw\test_draw\en.lproj\MainMenu.xib
?????文件?????????241??2015-10-12?15:54??test_draw\test_draw\main.m
?????文件?????????171??2015-10-12?15:54??__MACOSX\test_draw\test_draw\._main.m
?????文件????????1084??2015-10-12?15:54??test_draw\test_draw\test_draw-Info.plist
?????文件?????????149??2015-10-12?15:54??test_draw\test_draw\test_draw-Prefix.pch
?????文件?????????171??2015-10-12?15:54??__MACOSX\test_draw\test_draw\._test_draw-Prefix.pch
............此處省略23個文件信息
評論
共有 條評論