【问题标题】:iOS bitmap image creation -- simple exampleiOS 位图图像创建——简单示例
【发布时间】:2011-08-08 07:52:47
【问题描述】:

假设我想创建一个 100 像素宽和 200 像素高的图像,顶部有一个 100x100 的红色正方形,底部有一个 100x100 的棕色正方形 [RGB 分量 0.6、0.4、0.2]。假设我想把它做成一个位图,用一个直接的 C 函数为每个像素吐出组件,一次一个像素。 [有更简单的方法来创建该图像,但这里的重点是了解 iOS 位图——下一次,我可能会为每个像素设置任意值。] 我该怎么做?

【问题讨论】:

    标签: iphone image ios ipad bitmap


    【解决方案1】:

    您要使用的 API 记录在 Apple 的 CGBitmapContext Reference 中。

    使用 CGBitmapContextCreate 从一块大小的内存中创建位图上下文

    height * width * pixelSize
    

    (对于 ARGB,pixelSize 通常是 4 个字节。)然后,在处理完像素之后,使用 CGBitmapContextCreateImage 从位图上下文创建一个 imageRef,然后你就拥有了你的图像。您可以将此图像分配给 CALayer 的内容进行查看,或在 drawRect 中绘制图像。

    您可以使用 C 数组语法来访问像素:

    myPixelPtr = &bitmap[pixelSize * (x + y * bitmapWidth)];
    

    您的像素类型可以是 4 个无符号字节的 C 结构,每个用于 ARGB,或者只是原始字节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      相关资源
      最近更新 更多