创建具有相同图像比例的 CIImage?
Posted
技术标签:
【中文标题】创建具有相同图像比例的 CIImage?【英文标题】:Create CIImage with same image scale? 【发布时间】:2016-12-13 11:34:10 【问题描述】:我有这样的对象的 UIImage
<UIImage: 0x17428b540> size 937.5, 1250 orientation 0 scale 2.000000
我想创建 CIIImage。
CIImage* ciImage = [[CIImage alloc] initWithCGImage:image.CGImage options:nil];
它的输出是这样的:
<CIImage: 0x174c003b0 extent [0 0 1875 2500]>
您可以看到 CIImage 的大小是 UIImage 大小的两倍。如何获得与 UIImage 相同比例(大小)的 CIImage?
【问题讨论】:
CIImage 正在获取该图像的点而不是像素,因此它是该图像的打印点。我认为.... 你解决了吗? 【参考方案1】:CIImage
和 CGImage
没有比例。只有当您将它们转换为 UIImage
时,您才能设置比例。
例如,要从 CGImage
创建带有刻度的 UIImage
,请使用:
let image = UIImage(cgImage: your_cgImage, scale: your_scale, orientation: your_orientation)
(斯威夫特 4)
【讨论】:
【参考方案2】:你可以试试这个
UIImage *image = YOUR_IMAGE;
CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);
CGImageRef imgRef = CGImageCreateWithImageInRect([image CGImage], rect); // It returns CIImage only and size will be same.
【讨论】:
以上是关于创建具有相同图像比例的 CIImage?的主要内容,如果未能解决你的问题,请参考以下文章
使用 writeJPEGRepresentation 函数保存具有深度数据的 CIImage
设置两个 matplotlib imshow 图具有相同的颜色地图比例
通过自定义 CIFilter 运行图像时 CIImage 属性丢失