gpt4 book ai didi

ios - 无法绘制使用 CGBitmapContextCreate 创建的图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:46 27 4
gpt4 key购买 nike

在 IOS 下,我试图通过绘制到通过 CGBitmapContextCreate 创建的上下文来创建图像。以下是我正在使用的代码(类似于我找到的一些示例),但是当我调用它时,没有绘制任何内容。请注意,此示例中的“上下文”是通过调用 UIGraphicsGetCurrentContext 获得的,我可以成功地将其他内容绘制到此上下文中。有什么我想念的吗?

谢谢

    CGContextRef bmContext;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

bmContext = CGBitmapContextCreate(nil, 200, 200, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast);

CGFloat Color[4] = {
(CGFloat) 1,
(CGFloat) 0,
(CGFloat) 0,
(CGFloat) 1 };
CGRect Rect = { { 0, 0 }, { 200, 200 } };

CGContextSetFillColor(bmContext, Color);
CGContextFillRect (bmContext, Rect);

CGImageRef image = CGBitmapContextCreateImage(bmContext);

CGContextDrawImage(context, CGRectMake(100, 100, 200, 200), image);

CGImageRelease(image);
CGContextRelease(bmContext);
CFRelease(colorSpace);

最佳答案

经过多次试验,我发现了问题所在。看来我需要打电话:

CGContextSetFillColorSpace(bmContext, colorSpace);

否则它看起来是一个灰度上下文,并且在我设置填充颜色、强度和 alpha 时只期望 2 个值。这意味着在我上面的示例中,alpha 始终为零,导致未绘制任何内容。将上下文设置为 RGB 色彩空间可解决此问题。

感谢所有花时间查看我的问题的人。

关于ios - 无法绘制使用 CGBitmapContextCreate 创建的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050243/

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