问题标签 [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.

0 投票
1 回答
12537 浏览

ios - UIGraphicsBeginImageContext vs CGBitmapContextCreate

我正在尝试更改背景线程中图像的颜色。
Apple doc 说 UIGraphicsBeginImageContext 只能从主线程调用,我正在尝试使用 CGBitmapContextCreate:

context = CGBitmapContextCreate (bitmapData, pixelWide, pixelHigh, 8, // 每个组件的位数

我有两个版本的“changeColor”第一个使用 UIGraphisBeginImageContext,第二个使用 CGBitmapContextCreate。

第一个正确地改变颜色,但第二个没有。
这是为什么?



0 投票
2 回答
837 浏览

iphone - iPhone SDK - CGBitmapContextCreate

我想创造一个我自己的形象。我已经知道它的宽度(320*2 = 640)和高度(427)。

所以我有一些原始数据:

然后,我会填写它:)

然后,我必须做类似的事情来获取位图并返回 (UIImage *) :

但是我不知道如何创建我的上下文 ctx,正如您在“???”中看到的那样,即使我阅读了文档也很艰难......

请帮忙 !谢谢 :)

0 投票
5 回答
20813 浏览

iphone - iPhone CGContextRef CGBitmapContextCreate 不支持的参数组合

在我的应用程序中,我需要调整并裁剪一些本地和在线存储的图像。我正在使用Trevor Harmon 的教程,它实现了UIImage+Resize.

在我的 iPhone 4(iOS 4.3.1)上一切正常,我没有问题。但在我的 iPhone 3G (iOS 3.2) 上,调整大小和裁剪方法不适用于任何图片(本地存储的是 PNG)。这是控制台输出:

这是裁剪方法

调整大小的方法是这样的:

有人可以向我解释我遇到这个问题的方式吗?

谢谢你,安德烈

0 投票
1 回答
843 浏览

objective-c - 在 Objective-c (iOS) 中绘图

我开发了一个 iOS 应用程序,其中用户绘图作为其组成部分之一。我想绘制位图的上下文。这可以通过两种方式实现:

1)选择绘制选项时,我会创建位图上下文。仅当禁用该工具时才会关闭上下文。所以它在绘图期间保持打开状态。

2)每次用户画一条线时 - 我创建新的位图上下文,将当前绘图复制到那里(存储为图像),添加新线然后关闭上下文(当然还保存新图像)。因此,它仅在混凝土绘图操作期间保持打开状态。

第一种方法需要(可能)长时间打开位图上下文,第二种方法 - 每次重复图像(与当前绘图)复制并花费资源来频繁创建/释放上下文。哪种方式更好?为什么?

0 投票
1 回答
1062 浏览

xcode - iOS sdk,从无符号字符数组渲染图像,CGBitmapContextCreate 返回 NULL

我有一个具有以下值的unsigned char* 数据,如在 xcode 中调试时所见,

\xc1\xc1\xc1\xc1\xc1\xc1\xc1\xc0\x84\x03\x03\x02\x03\x02\x03\x03\x03\x02\x02\x03\x02\x03\x02\x02\x03 \x02\x02\x02\x02\x03\x03\x03\x03\x03\x02\x02\x03\x03\x03\x02\x02\x03\x02\x02\x02\x02\x03\x03\x03\x02 \x02\x02\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x02\x02\x03\x03\x03\x03\x03\x02\x03\x02 \x03\x02\x03\x03\x02\x02\x03\x03\x03\x02\x02\x02\x02\x02\x03\x02\x02\x03\x02\x03\x02\x02\x03\x03\x03

这是二维码的数据数组。

符号数据表示为包含宽度*宽度 uchars 的数组。每个 uchar 代表一个模块(点)。如果 uchar 的低位为 1,则对应的模块为黑色。

在上述情况下,宽度为177

我在 CGBitmapContextCreate 中尝试了各种组合,但似乎总是得到 NULL。

请指教。

您的帮助将不胜感激。

0 投票
1 回答
2349 浏览

iphone - resize image with aspect ratio

I try to resize image with aspect ratio, like done in the following links

Resizing UIimages pulled from the Camera also ROTATES the UIimage?

https://stackoverflow.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more

This works fine on the simulator. But on my iPhone-4 I get a black block on the right side of the picture. (a 4th of the picture is black). It only happens for pictures which have imageOrientation right...so far. ImageOrientation up doesn't give any problems.

Somehow I have the feeling that CGBitmapContextCreate is giving the problem. I already removed CGImageGetBytesPerRow, because this doesn't work as I have read. At the moment I have the following code:

What could case these problems?

0 投票
0 回答
396 浏览

iphone - CGBitmapContextCreate 对 iPhone 4 照片以外的任何内容都返回 nil

我很确定这是一个愚蠢的编码错误,因为我在 iOS 中有点新手,尤其是在 Quartz 上。

我有以下代码 - 它适用于我用 iPhone 的相机拍摄的照片,但是当我为不同尺寸的任何照片或风景照片创建上下文时,它返回 nil(在 ctx 中)。我有点不确定为什么会这样,我很想听听你对此的看法:)

在此先感谢,谢

0 投票
2 回答
3989 浏览

xcode - CGBitmapContext创建内存泄漏?

我不确定我是否了解如何释放位图上下文。

我正在执行以下操作:

Xcode Analyze 仍然在 CGBitmapContextCreate 行上给我一个“潜在的内存泄漏”。

我究竟做错了什么?

0 投票
1 回答
698 浏览

ios - UIImage/CGImage 改变我的像素颜色

我有一个 RGB 组件完全是白色的图像,具有不同的 alpha - 例如,RGBA 格式的 0xFFFFFF09。但是,当我使用 UIImage 或 CGImage API 加载此图像,然后在 CGBitmapContext 中绘制它时,它会出现灰度,RGB 组件设置为 alpha 的值——所以在我上面的示例中,像素会出现0x09090909 而不是 0xFFFFFF09。因此,应该是白色的图像,具有不同的透明度,实际上是黑色的,具有透明度。我正在加载的 PNG 文件没有任何问题——各种图形程序都可以正确显示它。

我想知道这是否与我使用 kCGImageAlphaPremultipliedFirst 有关,但我无法尝试它,因为 CGBitmapContextCreate 因其他值而失败。

这里的最终目的是获取可以使用 glTexImage2D 上传到纹理的像素数据。我可以使用 libPNG 完全绕过 iOS API,但还有其他建议吗?非常感谢。

0 投票
0 回答
2088 浏览

iphone - CGBitmapContextCreate 中的错误

我正在尝试从 sampleBufferData 创建 UIImage 以及控制台中的内容

:CGBitmapContextCreate:无效数据字节/行:对于 8 个整数位/分量、3 个分量、kCGImageAlphaPremultipliedFirst,应至少为 1920。
: CGBitmapContextCreateImage: 无效的上下文 0x0

这是我的代码