gpt4 book ai didi

ios - 如何确定 CGImage 每个像素的组件数?

转载 作者:行者123 更新时间:2023-11-28 19:04:28 29 4
gpt4 key购买 nike

对于物理缩放任何 UIImage 的方法,我需要创建位图上下文,它具有与图像完全相同的设置,除了目标宽度和高度。

到目前为止,这是我的代码。缺少什么:如何为 CGBitmapContextCreate 的 bytesPerRow 参数确定 CGImage 每个像素的组件数?

CGImageRef cgImage = self.CGImage;
size_t widthPX = CGImageGetWidth(cgImage);
size_t heightPX = CGImageGetHeight(cgImage);
size_t bitsPerComponent = CGImageGetBitsPerComponent(cgImage);
size_t bitsPerPixel = CGImageGetBitsPerPixel(cgImage);
size_t bytesPerRow = CGImageGetBytesPerRow(cgImage);
CGColorSpaceRef colorSpace = CGImageGetColorSpace(cgImage);
CGColorSpaceModel colorSpaceModel = CGColorSpaceGetModel(colorSpace);
CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(cgImage);

CGContextRef ctx = CGBitmapContextCreate(NULL, destWidth, destHeight, bitsPerComponent, bytesPerRow/错误!!它是源宽度!/, colorSpace, bitmapInfo);

最佳答案

这是我的粗略解决方案。我还不确定它是否有效。

size_t bytesPerRow = CGImageGetBytesPerRow(cgImage);
size_t bytesPerPixel = bytesPerRow / widthPX;
size_t destBytesPerRow = bytesPerPixel * destWidth;

我尝试做的是:首先,根据每行字节数和源图像中的像素数计算每像素字节数。然后将其与目标宽度相乘以获得目标图像每行的字节数。

关于ios - 如何确定 CGImage 每个像素的组件数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21727616/

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