• 大小: 43KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: 画图  

资源简介

Cocoa下简单的绘图操作,用两种方法实现。

资源截图

代码片段和文件信息

//
//  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)直线的本质是一个高度较小的矩形
    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个文件信息

评论

共有 条评论