问题标签 [cgbitmapcontextcreate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - UIView:如何进行无损绘图?
我原来的问题:
我正在创建一个简单的绘图应用程序,并且需要能够在我的
drawRect
. 在不完全替换现有内容的情况下绘制现有内容的正确方法是什么?
根据在这里和其他地方收到的答案,这就是交易。
您应该准备好在
drawRect
调用时重新绘制整个矩形。您无法通过执行以下操作来防止内容被删除:
[self setClearsContextBeforeDrawing: NO];
这只是对图形引擎的一个提示,让它为您预先清除视图是没有意义的,因为无论如何您可能需要重新绘制整个区域。它可能会阻止您的视图被自动删除,但您不能依赖它。
要在视图顶部绘制而不擦除,请在屏幕外位图上下文中进行绘图(系统永远不会清除该上下文。)然后在您的 中
drawRect
,从该屏幕外缓冲区复制到视图。
例子:
TODO:任何人都可以优化,drawRect
以便只使用(通常很小的)修改后的矩形区域进行复制吗?
iphone - iPhone - UIImage 泄漏,CGBitmapContextCreateImage 泄漏
好吧,我很难追踪这个内存泄漏。运行此脚本时,我没有看到任何内存泄漏,但我的 objectalloc 正在攀升。Instruments 指向 CGBitmapContextCreateImage > create_bitmap_data_provider > malloc,这占了我的 objectalloc 的 60%。
这段代码被一个 NSTimer 调用了几次。
下面是模糊功能。我相信 objectalloc 问题位于此处。也许我只需要一双新鲜的眼睛。如果有人能弄清楚这一点,那就太好了。抱歉,它有点长...我会尽量缩短它。
我能想到的唯一一件事就是阻止 objectalloc 是这个 UIImage *retUIImage = [UIImage imageWithCGImage:cgImage];...但是在它被返回后如何释放它?希望有人可以帮忙。
iphone - iPhone - UIImage 泄漏,ObjectAlloc 构建
好吧,我很难追踪这个内存泄漏。运行此脚本时,我没有看到任何内存泄漏,但我的 objectalloc 正在攀升。Instruments 指向 CGBitmapContextCreateImage > create_bitmap_data_provider > malloc,这占了我的 objectalloc 的 60%。
这段代码被一个 NSTimer 调用了几次。
退货后如何清除reUIImage?
...或者我怎样才能使 UIImage imageWithCGImage 不构建我的 ObjectAlloc?
iphone - iPhone - CGBitmapContextCreateImage 泄漏,还有其他人有这个问题吗?
有没有其他人遇到过这个问题?我经常使用 NSTimer 调整图像大小。使用 Instruments 后,它没有显示任何内存泄漏,但我的 objectalloc 继续攀升。它直接指向 CGBitmapContextCreateImage。
有人知道解决方案吗?甚至可能的想法?
iphone - iPhone - 多个 CGBitmapContextCreateImage 调用 - ObjectAlloc 攀爬
有没有其他人遇到过这个问题?ObjectAlloc 作为 CGBitmapContextCreateImage 的结果而攀升。苹果的软件没有完全释放objectalloc吗?
我正在使用 NSTimer 每秒 12 次调整图像大小。在调整图像大小的过程中,我还通过包含插值质量来添加像高斯模糊效果这样的 Photoshop。
使用 Instruments 后,它没有显示任何内存泄漏,但我的 objectalloc 继续攀升。它直接指向CGBitmapContextCreateImage。
CGBitmapContextCreateImage > create_bitmap_data_provide > malloc
有人知道解决方案吗?甚至可能的想法?
NSTimer 中的调用
调整大小功能
iphone - iPhone:更改 CGImage 的 CGImageAlphaInfo
我有一个具有不受支持的位图图形上下文像素格式的 PNG 图像。每当我尝试调整图像大小时,都会CGBitmapContextCreate()
因不支持的格式而窒息
我收到以下错误(错误格式为便于阅读):
支持的像素格式列表肯定不支持这种组合。看来我需要重绘图像并将 alpha 通道信息移动到kCGImageAlphaPremultipliedFirst 或 kCGImageAlphaPremultipliedLast。
我不知道该怎么做。
PNG文件没有什么异常,也没有损坏。它在所有其他情况下都可以正常工作。我偶然遇到了这个错误,但显然我的用户可能有类似格式的文件,所以我必须检查我的应用程序导入的图像并纠正这个问题。
iphone - CBitmapContextCreate、CGContextDrawImage、CGBitmapContextCreateImage 出错
错误:CGBitmapContextCreate:无效数据字节/行:对于 8 个整数位/组件、3 个组件、kCGImageAlphaNoneSkipFirst,应至少为 400。
错误:CGContextDrawImage:无效的上下文
错误:CGBitmapContextCreateImage:无效的上下文
目前,我的应用程序可以在 OS 4.0 中完美运行,但我一直试图让它在 3.1.3 中正常工作,并且不断收到上述错误。
我对 iPhone 开发相当陌生,不确定问题是什么。我正在使用我在 stackoverflow 上的另一篇文章中找到的图像调整大小代码。
这是代码:
任何帮助,将不胜感激。如果您需要更多信息,我很乐意发布。
ios4 - CGContext & CGBitmapContextCreateImage 错误,如何修复?
我已经在这几个小时了,甚至不知道如何调试这个错误。也许有一位 SO 专家知道发生了什么。
}
这些是我调用此方法后出现的错误
谁能告诉我发生了什么事?提前致谢。
cocoa - 请帮助 CGBitmapContext 和 16 位图像
我很想知道我在这里做错了什么。我是 CGImageRefs 的新手,所以任何建议都会有所帮助。
我正在尝试创建一个位图图像,其像素值是来自另一个位图的像素的加权和,并且两个位图都是每个通道 16 位。出于某种原因,我可以毫不费力地让它与 8 位图像一起使用,但它在 16 位时却惨遭失败。我的猜测是我只是没有正确设置。我尝试使用 CGFloats、floats 和 UInt16s 作为数据类型,但没有任何效果。输入图像没有 Alpha 通道。我得到的输出图像看起来像彩色雪。
标题中的相关内容:
我使用以下方法为输入位图(使用 CGImageSourceCreateImageAtIndex(source, 0, NULL) 创建的 CGImageRef)创建上下文:
输出位图的上下文以相同的方式创建。我使用以下方法将 inBitmap 绘制到 inContext 中:
然后我像这样初始化 inBaseAddress 和 outBaseAddress:
然后我用 inBaseAddress 中的值填充 outBaseAddress:
作为一个简单的检查,我尝试过:
这有效,至少意味着位图数据的上下文和指针正在工作。
感谢您的任何意见。这非常令人沮丧,因为它适用于 8 位图像。
uiimage - 为什么 drawPatternInRect: on UIImage 仅适用于 Views 上下文
我正在使用 CGBitmapContextCreate 调用创建自己的上下文。上下文创建成功。我可以使用调用 CGContextDrawImage 在此上下文中成功绘制 UIImage 。但是,当我尝试使用 UIImage 的 drawPatternInRect: 调用时,它会给出错误“上下文为 nil”。
我确信上下文不是 nil 并且它是正确创建的,因为 CGContextDrawImage 在相同的上下文中工作正常。drawPatternInRect: 只有当上下文是 UIView 或者我在 UIView 的 drawRect 方法中创建上下文时调用才能正常工作。但是,我不能使用 UIView 的上下文,因为我需要在这个上下文之外生成 UIImage。
有谁知道这里的问题是什么或drawPatternInRect的任何其他替代简单方法?