将存储在C中的RGBA位图图像调整为字节数组

时间:2016-10-05 13:34:12

标签: c bitmap rgba

我将图像存储为C中的原始RGBA位图。我正在使用:

unsigned char *rgbaData 
size_t rgbaDataLength; 
size_t width; 
size_t height; 

现在我考虑如何重新缩放它(调整大小)以从当前的宽度/高度获得 - > new_width / new_height 即可。

我需要编写类似这个原型的函数:

int rgbaResize(const unsigned char *rgbaData, const size_t rgbaDataLength, 
const size_t width, const_size_t height, const size_t newWidth, 
const size_t newHeight, unsigned char **newRgbaData, size_t *newRgbaDataLength);

我的意思是这样的,但是跨平台的解决方案或用户实现:

let context = CGBitmapContextCreate(nil, width, height, bitsPerComponent, bytesPerRow, colorSpace, bitmapInfo.rawValue)

CGContextSetInterpolationQuality(context, kCGInterpolationHigh)

CGContextDrawImage(context, CGRect(origin: CGPointZero, size: CGSize(width: CGFloat(width), height: CGFloat(height))), cgImage)

let scaledImage = CGBitmapContextCreateImage(context).flatMap { UIImage(CGImage: $0) }

可以通过一些免费的,开源的和轻量级的跨平台库来完成吗?

0 个答案:

没有答案