en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

8.08.2011

UIColor 設定為圖案的樣式的方法

  

 UIColor 在設定上除了簡單色域與透明度外,也可以設定成圖案樣式 Pattern,下面將示範使用 Pattern 的 UIColor 來設定 UITextView 與 CoreGraphics 所繪製的區域背景,其程式瑪如下。

UITextView
//製作一個使用Pattern的UIColor
UIColor *myPatternColorA = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Pattern_A.png"]];

//設定UITextView的背景
[theTextView setBackgroundColor:myPatternColorA];

CoreGraphics
//製作一個與畫面同大小的ImageView
UIImageView *drawView = [[UIImageView alloc]initWithFrame:self.view.frame];

//使用此ImageView的格式來建立畫布
UIGraphicsBeginImageContext(drawView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();

//製作一個使用Pattern的UIColor
UIColor *myPatternColorB = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Pattern_B.png"]];

//設定繪製的顏色
CGContextSetFillColorWithColor(context, myPatternColorB.CGColor);

//六角形區域的路徑
CGContextMoveToPoint(context, 100.0, 100.0);
CGContextAddLineToPoint(context, 200.0, 100.0);
CGContextAddLineToPoint(context, 250.0, 200.0);
CGContextAddLineToPoint(context, 200.0, 300.0);
CGContextAddLineToPoint(context, 100.0, 300.0);
CGContextAddLineToPoint(context, 50.0, 200.0);

CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFill);

//設定ImageView影像為目前的畫布
drawView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

//將ImageView顯示於畫面上
[self.view addSubview:drawView];









沒有留言:

張貼留言