«Продолжить» (до следующей итерации) на VBScript

Чтобы получить размерность AVAsset, вы должны рассчитать объединение всех визуальных дорожек визуальных дорожек (после применения их соответствующего предпочтительного преобразования):

CGRect unionRect = CGRectZero;
for (AVAssetTrack *track in [asset tracksWithMediaCharacteristic:AVMediaCharacteristicVisual]) {
    CGRect trackRect = CGRectApplyAffineTransform(CGRectMake(0.f,
                                                             0.f,
                                                             track.naturalSize.width,
                                                             track.naturalSize.height),
                                                  track.preferredTransform);
    unionRect = CGRectUnion(unionRect, trackRect);
}
CGSize naturalSize = unionRect.size;

Методы, основанные на CGSizeApplyAffineTransform, терпят неудачу когда ваш ресурс содержит треки с нетривиальным аффинным преобразованием (например, повороты на 45 градусов) или если ваш ресурс содержит треки с различным происхождением (например, два трека, воспроизводимые рядом с началом второго трека, увеличиваются по ширине первого дорожка).

См .: MediaPlayerPrivateAVFoundationCF::sizeChanged() на https://opensource.apple.com/source/WebCore/WebCore-7536.30.2/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp

44
задан EKI 15 October 2010 в 16:13
поделиться

1 ответ

Я думаю, что Вы предназначаетесь для содержания ВСЕЙ ЛОГИКИ под Вашим if оператор. В основном:

' PRINTS EVERYTHING EXCEPT 4
For i = 0 To 10
  ' you want to say
  ' If i = 4 CONTINUE but VBScript has no continue
  If i <> 4 Then ' just invert the logic
    WSH.Echo( i )
  End If
Next

Это может сделать код немного дольше, но некоторым людям не нравится break или continue так или иначе.

0
ответ дан 26 November 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: