gpt4 book ai didi

quicktime - QTMovie CurrentSize 属性和 QTMovieSize DidChangeNotification 替换

转载 作者:行者123 更新时间:2023-12-03 17:58:53 25 4
gpt4 key购买 nike

有谁知道更换旧的正确方法QTMovieCurrentSizeAttributeQTMovieSizeDidChangeNotification任务?我正在尝试清除旧的弃用代码。

我发现 QTMovieNaturalSizeDidChangeNotification不能替代 QTMovieSizeDidChangeNotification .同样 QTMovieNaturalSizeAttribute不能替代 QTMovieCurrentSizeAttribute . Natural Size指的是QTMovie的原始分辨率,而 Current SizeQTMovie的分辨率正在显示(这也可能是电影被解码的分辨率,可以从原生调整大小)。例如,如果源是变形的或具有非方形像素,则 NaturalCurrent Size s 不会相同。在 QuickTime 7 Player 的电影检查器窗口中可以很容易地看到差异。

据我所知,QuickTime X 允许多个 View 进入同一个 QTMovie ,所以 Current Size 的概念需要被新的东西取代。 (也许 Current Size 功能被移到了 QTMovieView 中?还是解码器查询?)任何人都可以向我推荐新方法的文档或示例代码吗?

已更新为显示 Natural 的电影检查器窗口的任何示例代码和 Current ('Actual') Sizes ,不使用弃用的代码,将是理想的。到目前为止,这一直很难解决。

最佳答案

这有用吗? http://opensource.apple.com/source/WebCore/WebCore-955.66/platform/graphics/mac/MediaPlayerPrivateQTKit.mm

IntSize MediaPlayerPrivate::naturalSize() const
{
if (!metaDataAvailable())
return IntSize();

// In spite of the name of this method, return QTMovieNaturalSizeAttribute transformed by the
// initial movie scale because the spec says intrinsic size is:
//
// ... the dimensions of the resource in CSS pixels after taking into account the resource's
// dimensions, aspect ratio, clean aperture, resolution, and so forth, as defined for the
// format used by the resource

NSSize naturalSize = [[m_qtMovie.get() attributeForKey:QTMovieNaturalSizeAttribute] sizeValue];
return IntSize(naturalSize.width * m_scaleFactor.width(), naturalSize.height * m_scaleFactor.height());
}

关于quicktime - QTMovie CurrentSize 属性和 QTMovieSize DidChangeNotification 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6182760/

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