我知道JPEG压缩是有损的.我有两个问题:
给定操作T:
1.拍摄JPEG-80图像
2.将其解码为字节缓冲区
3.将给定的字节缓冲区编码为JPEG-80
在视觉质量方面,T是一种幂等的操作吗?或者,当我重复T时,图像的质量会不断降低?JPEG-XR编解码器也是如此吗?
谢谢!
编辑:由于答案存在冲突,如果您能提供参考,那就太棒了!
我正在浏览一些处理Windows Imaging Component库的遗留C++代码,我观察到了这一点:
void setProperties(IPropertyBag2* const pBag)
{
pBag->Write(...);
}
void other_function()
{
CComPtr<IPropertyBag2> pBag;
//Code to initialize pBag
setProperties(pBag);
}
Run Code Online (Sandbox Code Playgroud)
该setProperties方法只是将一堆属性写入属性包.代码编译并运行正常,因为我认为它调用适当的类型转换操作符.
我的问题是,是否建议使用这样的接口,或者是否有更好的传递指针的方法.例如,如果签名更改为:是否存在任何差异(在安全性/性能方面):
void setProperties(const CComPtr<IPropertyBag2>& pBag)
Run Code Online (Sandbox Code Playgroud)