在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機編程>

在ios中開發(fā)實現(xiàn)畫板功能的方法分析

大小:0.53 MB 人氣: 2017-09-25 需要積分:1

  最近看了一些網(wǎng)上的畫板demo,這些demo的實現(xiàn)方式基本上是使用CGContextRef或者UIBezierPath實現(xiàn),但是基本上都存在一個比較嚴重的bug,在使用擦除功能的時候基本上都是直接將畫板的顏色改為背景的顏色,那么當背景的是一張圖片或者背景并不是單一顏色而是多種顏色時,擦除功能就會失效。本demo文章將解決這樣一個問題。按照國際慣例先上圖。

  

  demo主要使用CGContextRef實現(xiàn),擦除功能使用kCGBlendModeDestinationIn和clearColor聯(lián)合使用實現(xiàn)。

  1、新建DWStroke類存儲CGContextRef信息

  DWStroke.h

  #import 《UIKit/UIKit.h》

  typedef struct CGPath *CGMutablePathRef;

  typedef enum CGBlendMode CGBlendMode;

  @interface DWStroke : NSObject

  @property (nonatomic) CGMutablePathRef path;

  @property (nonatomic, assign) CGBlendMode blendMode;

  @property (nonatomic, assign) CGFloat strokeWidth;

  @property (nonatomic, strong) UIColor *lineColor;

  - (void)strokeWithContext:(CGContextRef)context;

  @end

  DWStroke.m

  - (void)strokeWithContext:(CGContextRef)context {

  CGContextSetStrokeColorWithColor(context, [_lineColor CGColor]);

  CGContextSetLineWidth(context, _strokeWidth);

  CGContextSetBlendMode(context, _blendMode);

  CGContextBeginPath(context);

  CGContextAddPath(context, _path);

  CGContextStrokePath(context);

  }

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 月夜免费观看高清在线完整 | 五月天色婷婷丁香 | 超色视频| 一区在线观看视频 | 日本三级香港三级人妇网站 | 狂野欧美性猛交xxxx免费 | 九九热精品视频 | 超刺激gay腐文h文 | 久久手机免费视频 | 日本黄色免费电影 | 色婷婷色综合激情国产日韩 | 天天拍天天操 | 色多多视频在线观看免费大全 | 最新日本免费一区二区三区中文 | 天天鲁天天爽精品视频 | 欧美爽爽| 激情视频综合网 | 女同毛片 | 天天插在线视频 | 精品三级视频 | 亚洲综合激情另类专区 | 久久51| 日韩激情淫片免费看 | 在线免费观看视频 | 婷婷综合网站 | 三级电影在线观看视频 | 五月天婷婷久久 | 日韩福利网站 | 久久色婷婷 | 日本吻胸抓胸激烈视频网站 | 色噜噜噜| 天天拍天天色 | 超级极品白嫩美女在线 | 天天伊人网 | 又粗又硬又猛又黄的免费视频黑人 | 无内丝袜透明在线播放 | 欧美特级黄| 国产亚洲美女精品久久久2020 | 国产一级大片免费看 | 欧美一区二区三区四区在线观看 | 久久精品午夜视频 |