问题标签 [cgbitmapcontext]

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 投票
0 回答
592 浏览

ios - 无效数据字节/行:CGBitmapContextCreate:CGContextDrawImage:无效上下文 0x0

我正在尝试将图像数组转换为视频文件。在这个过程中,我必须从选定的图像中填充像素缓冲区。这是代码片段:

执行这些行后,我在 xcode 中收到以下消息: CGBitmapContextCreate: invalid data bytes/row: should be at least 13056 for 8 integer bits/component, 3 components, kCGImageAlphaPremultipliedFirst.CGContextDrawImage: invalid context 0x0。 调试后我得到以下值:

我应该怎么做才能获得有效的数据字节/行?控制台日志中指定的3 个组件是什么?我在stackoverflow中看到了类似的问题,但对我来说没有任何帮助。

0 投票
2 回答
782 浏览

objective-c - 宽颜色范围的位图上下文

我正在尝试使用 kCGColorSpaceDisplayP3 颜色空间创建一个图像蒙版,以支持 iPhone 7 的广泛颜色范围。

在使用 iOS 10 和更早版本的 iOS 的 iPhone 6 和更早版本的设备上使用 sRGB 颜色空间时,我能够正确创建图像蒙版。但我不知道使用 kCGColorSpaceDisplayP3 创建色彩空间时哪里出错了:

日志说:

:CGImageMaskCreate:无效的掩码位/组件:32。

我对Core Graphics没有太多经验。任何人都可以在这里提出一些建议。

谢谢。

0 投票
1 回答
396 浏览

ios - iOS Xamarin 中的 UIImage 质量差

我一直在使用这里的代码向我的 UIImage 添加一些文本,但是图像的质量变得非常糟糕。我已经将代码缩小了很多,为此:

MyImage 是 PNG 图像。我已经像这样添加了它们:

  • MyImage.png(100x100 像素)
  • MyImage@2.png (150x150 像素)
  • MyImage@3.png (200x200 像素)

我不确定使用的是哪一个,但是当我在运行时检查图像时,大小为 75x75 nint(本机 int)。这就是我将 CGBitmapContext 高度和宽度设置为 75 的原因。

我的问题是,通过此功能处理 myImage 后,质量变得很差。如果我跳过此过程并仅使用 myImage 质量非常好,但是我需要 CGBitmapContext 向图像添加一些文本。

有谁知道是什么导致它质量不好,以及我该如何解决?作为记录,我正在 iPhone 6S 上进行测试。

0 投票
1 回答
700 浏览

xamarin.ios - CGBitmapContext 构造函数中的参数无效

我正在尝试使用CGBitmapContext constructor(s)在 Xamarin.iOS 项目中创建一个空白位图。但是,无论我尝试什么,我都会收到错误消息"System.Exception: Invalid parameters to context creation"

示例代码:

我试过改变大部分参数;我尝试修复数据块并将其作为 IntPtr 传递。我尝试使用 null 作为第一个参数,以便系统分配数据。我在最后一个参数中尝试了各种标志。我总是遇到同样的错误。什么参数错了?并且需要在上面的代码中进行哪些更改才能使其执行?

0 投票
1 回答
801 浏览

ios - CGBitmapContextCreate 为某些宽度和高度的像素返回 NULL

我有以下代码来创建新的位图图形上下文。

newRect.size.width 是 UIImage 的原始宽度除以 2 的结果。 newRect.size.height 是 UIImage 的原始高度除以 2 的结果。

但是对于一些尺寸为 {3000, 2002},{3024, 4032},{4032, 3024} 的 UIImage 是可以的,并且返回位图上下文。

但是对于一些尺寸为 {1242, 2208} 的 UIImage。通常这些是我设备的屏幕截图并返回 NULL 值。

这是失败的 UIImage 的日志. 这是成功 UIImage 的日志.

有没有人可以帮助解决我的问题。谢谢。