- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 IOS 下,我试图通过绘制到通过 CGBitmapContextCreate 创建的上下文来创建图像。以下是我正在使用的代码(类似于我找到的一些示例),但是当我调用它时,没有绘制任何内容。请注意,此示例中的“上下文”是通过调用 UIGraphicsGetCurrentContext 获得的,我可以成功地将其他内容绘制到此上下文中。有什么我想念的吗?
谢谢
CGContextRef bmContext;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
bmContext = CGBitmapContextCreate(nil, 200, 200, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast);
CGFloat Color[4] = {
(CGFloat) 1,
(CGFloat) 0,
(CGFloat) 0,
(CGFloat) 1 };
CGRect Rect = { { 0, 0 }, { 200, 200 } };
CGContextSetFillColor(bmContext, Color);
CGContextFillRect (bmContext, Rect);
CGImageRef image = CGBitmapContextCreateImage(bmContext);
CGContextDrawImage(context, CGRectMake(100, 100, 200, 200), image);
CGImageRelease(image);
CGContextRelease(bmContext);
CFRelease(colorSpace);
最佳答案
经过多次试验,我发现了问题所在。看来我需要打电话:
CGContextSetFillColorSpace(bmContext, colorSpace);
否则它看起来是一个灰度上下文,并且在我设置填充颜色、强度和 alpha 时只期望 2 个值。这意味着在我上面的示例中,alpha 始终为零,导致未绘制任何内容。将上下文设置为 RGB 色彩空间可解决此问题。
感谢所有花时间查看我的问题的人。
关于ios - 无法绘制使用 CGBitmapContextCreate 创建的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050243/
这就是我创建 UIImage 的方式。我用 calloc 分配了 piOutData。现在当我最后调用 CGImageRelease 时,它会自动释放 piOutData 还是我需要通过 free 手
我正在使用以下代码在我的 iOS 应用程序的 touchesEnded 截取绘图: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PR
这段代码是我写的: bitmapData = calloc(1, bitmapByteCount ); context = CGBitmapContextCreate (bitmapData,
在我的应用程序中,我需要调整和裁剪一些本地和在线存储的图像。我正在使用Trevor Harmon's tutorial它实现了UIImage+Resize。 在我的 iPhone 4(iOS 4.3.
我迫切需要创建一个没有 alpha channel 的 CGContextRef。不幸的是,使用 Core Graphics,您不能使用 CGBitmapCreateContext 指定 kCGIma
- (UIImage *)roundedCornerImage:(NSInteger)cornerSize borderSize:(NSInteger)borderSize { // If t
我想使用来自 Apple 开发人员页面的示例。 Apple Dev Pages on AVFoundation 现在,我按照文档说明使用了 imageFromSampleBuffer:sampleBu
几天来我一直在为撤消功能苦苦挣扎,我真的不知道如何解决这个问题。 我在使用自定义 UIimageView 的 UIViewController 上制作绘图功能。 问题是当我触发撤消功能时,之前的绘图没
我有以下代码来创建新的位图图形上下文。 NSLog(@"newRect Width %f",newRect.size.width); NSLog(@"newRect Height %f",newRec
在 IOS 下,我试图通过绘制到通过 CGBitmapContextCreate 创建的上下文来创建图像。以下是我正在使用的代码(类似于我找到的一些示例),但是当我调用它时,没有绘制任何内容。请注意,
我正在尝试在后台线程中更改图像的颜色。 Apple 文档说 UIGraphicsBeginImageContext 只能从主线程调用,我正在尝试使用 CGBitmapContextCreate: co
CGBitmapContext 在什么情况下会分配失败?我有一个 TableView ,它有多个 View 选项。用户可以看到一个只有预览的小表格单元格,每行一个较大的预览,或每行两个并排预览。前两个
我手动创建了一个 CGBitmapContext: bitmapContext = CGBitmapContextCreate( myImageData, width, height, 8, 4 *
创建位图上下文时出现此错误: CGBitmapContextCreate:不支持的参数组合:8 个整数位/组件; 24 位/像素;三分量色彩空间; kCGImageAlphaNone; 7936 字节
我有一个方法,需要逐像素解析一堆大型 PNG 图像(每个 PNG 都是 600x600 像素)。它似乎在模拟器上工作得很好,但在设备(iPad)上,我在某些内部内存复制功能中得到了 EXC_BAD_A
CGContextRef context = CGBitmapContextCreate(nil, width, //if width More than 6002/4
我正在尝试创建一个 8 位灰度上下文,如下所示: CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray(); CGContextRef c
我正在使用以下代码(来自博客文章)来调整图像大小 if (inImage.size.width <= inImage.size.height) { // Portrait ratio
我正在使用 quartz2d 生成图像,我想将其用作 opengl 纹理。棘手的部分是我希望每个像素使用尽可能少的位,因此我创建 cgContext 如下: int bitsPerComponent
我使用以下代码来显示 32 位灰度图像。即使我明确地将每个像素设置为 4294967297(应该是白色),最终结果始终是黑色。我在这里做错了什么?该图像只有 64x64 像素。 CGColorSpac
我是一名优秀的程序员,十分优秀!