gpt4 book ai didi

cocoa - 来自字节数组的 CGImage

转载 作者:行者123 更新时间:2023-12-03 16:02:23 26 4
gpt4 key购买 nike

使用标准图像格式(jpeg、gif、png 等)从文件加载 CGImage 或 NSImage 非常简单。

但是,我现在需要从使用 libfreetype 生成的内存中的字节数组创建 CGImage。从格式化字节数组创建 OpenGL 纹理确实很容易,而且我可以了解如何创建要写入的 CGBitmapContext。但我似乎找不到一种简单的方法来从原始像素数组创建 CGImage。

最佳答案

使用CFData可以使上面的代码变得更简单。这是代码。

// raw pixel data memory of 64 * 64 pixel size

UInt8 pixelData[64 * 64 * 3];

// fill the raw pixel buffer with arbitrary gray color for test

for(size_t ui = 0; ui < 64 * 64 * 3; ui++)
pixelData[ui] = 210;

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();

CFDataRef rgbData = CFDataCreate(NULL, pixelData, 64 * 64 * 3);

CGDataProviderRef provider = CGDataProviderCreateWithCFData(rgbData);

CGImageRef rgbImageRef = CGImageCreate(64, 64, 8, 24, 64 * 3, colorspace, kCGBitmapByteOrderDefault, provider, NULL, true, kCGRenderingIntentDefault);

CFRelease(rgbData);

CGDataProviderRelease(provider);

CGColorSpaceRelease(colorspace);

// use the created CGImage

CGImageRelease(rgbImageRef);

关于cocoa - 来自字节数组的 CGImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2261177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com