iphone - 在单元格 UIImageView 的 UIImage 中绘制一个点

标签 iphone ios objective-c uiimage cgcontext

目前,我正在尝试在单元格的 UIImageViewUIImage 中绘制一个简单的点。当事件由日历表示时,我正在尝试完成与 iPhone 日历应用程序相同的事情。

[[event calendar] CGColor] 

是一个 EKEvent 对象,记录 UIDeviceRGBColorSpace 0.509804 0.584314 0.686275 1

我尝试创建一个颜色为 [[event calendar] CGColor] 的小点。这是我目前正在尝试做的事情:

CGContextRef contextRef = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(contextRef, [[event calendar] CGColor]);
CGContextAddEllipseInRect(contextRef,(CGRectMake (12.f, 5.f, 4.f, 5.f)));
CGContextDrawPath(contextRef, kCGPathFill);
CGContextStrokePath(contextRef);
cell.imageViewPic.image = UIGraphicsGetImageFromCurrentImageContext();

但这里是我得到的错误:

 MYSCHEDULER[21445] <Error>: CGContextSetFillColorWithColor: invalid context 0x0
 MYSCHEDULER[21445] <Error>: CGContextAddEllipseInRect: invalid context 0x0
 MYSCHEDULER[21445] <Error>: CGContextDrawPath: invalid context 0x0
 MYSCHEDULER[21445] <Error>: CGContextDrawPath: invalid context 0x0

我不明白我做错了什么...为什么上下文无效?

最佳答案

如我所见,您正在尝试获取您所做绘图的图像,然后将其添加到 imageViewPic。下面是你应该做的让它工作:

UIGraphicsBeginImageContext(CGSizeMake(5.0f,5.0f)); 
CGContextRef contextRef = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(contextRef, [[event calendar] CGColor]);
CGContextFillEllipseInRect(contextRef,(CGRectMake (0.f, 0.f, 5.f, 5.f)));
UIImage *drawingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

cell.imageViewPic.image = drawingImage;

关于iphone - 在单元格 UIImageView 的 UIImage 中绘制一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18436520/

相关文章:

ios - 以编程方式加载 webview 并拍摄快照以显示在 collectionView 中

objective-c - xCode-即使调试器显示两个字符串都不匹配,isEqualToString也返回true?

ios - 如何管理 2G 网络上的 openfire 连接?

ios - 用户界面搜索栏不显示结果,直到没有点击取消按钮

iphone - 更改音调(不实时)

ios - 在 iPhone 模拟器上使用可达性并且没有 wifi

ios - 将视频 URL 保存到 Core Data

iphone - iOS 6 map View 中缩放级别的无关行为

javascript - 如何在触发 toggleClass 语句后修复不可见元素(burgermenu)

ios - 添加解析对象后发出重新加载 TableView 的问题