cari

Rumah  >  Soal Jawab  >  teks badan

objective-c - CoreAnimation 和 CoreGraphics这两个框架的区别

1.本人想知道CoreAnimation(核心动画)和CoreGraphics(核心?)这两个框架的区别

2.通过查询并未得到很令人满意的答案,所以来此想大牛提问

3.占用GPU的情况是如何的?

黄舟黄舟2758 hari yang lalu653

membalas semua(1)saya akan balas

  • 天蓬老师

    天蓬老师2017-05-02 09:21:40

    Pertama sekali, mari bercakap tentang Grafik yang bermaksud 图形.

    Bandingkan fail pengepala dahulu

    Animasi Teras.h

    #ifndef COREANIMATION_H
    #define COREANIMATION_H
    
    #include <QuartzCore/CABase.h>
    #include <QuartzCore/CATransform3D.h>
    
    #ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <QuartzCore/CAAnimation.h>
    #import <QuartzCore/CADisplayLink.h>
    #import <QuartzCore/CAEAGLLayer.h>
    #import <QuartzCore/CAMetalLayer.h>
    #import <QuartzCore/CAEmitterBehavior.h>
    #import <QuartzCore/CAEmitterCell.h>
    #import <QuartzCore/CAEmitterLayer.h>
    #import <QuartzCore/CAGradientLayer.h>
    #import <QuartzCore/CALayer.h>
    #import <QuartzCore/CAMediaTiming.h>
    #import <QuartzCore/CAMediaTimingFunction.h>
    #import <QuartzCore/CAReplicatorLayer.h>
    #import <QuartzCore/CAScrollLayer.h>
    #import <QuartzCore/CAShapeLayer.h>
    #import <QuartzCore/CATextLayer.h>
    #import <QuartzCore/CATiledLayer.h>
    #import <QuartzCore/CATransaction.h>
    #import <QuartzCore/CATransformLayer.h>
    #import <QuartzCore/CAValueFunction.h>
    #endif
    
    #endif /* COREANIMATION_H */

    CoreGraphics.h

    #ifndef COREGRAPHICS_H_
    #define COREGRAPHICS_H_
    
    #include <CoreGraphics/CGBase.h>
    #include <CoreGraphics/CGAffineTransform.h>
    #include <CoreGraphics/CGBitmapContext.h>
    #include <CoreGraphics/CGColor.h>
    #include <CoreGraphics/CGColorSpace.h>
    #include <CoreGraphics/CGContext.h>
    #include <CoreGraphics/CGDataConsumer.h>
    #include <CoreGraphics/CGDataProvider.h>
    #include <CoreGraphics/CGError.h>
    #include <CoreGraphics/CGFont.h>
    #include <CoreGraphics/CGFunction.h>
    #include <CoreGraphics/CGGeometry.h>
    #include <CoreGraphics/CGGradient.h>
    #include <CoreGraphics/CGImage.h>
    #include <CoreGraphics/CGLayer.h>
    #include <CoreGraphics/CGPDFArray.h>
    #include <CoreGraphics/CGPDFContentStream.h>
    #include <CoreGraphics/CGPDFContext.h>
    #include <CoreGraphics/CGPDFDictionary.h>
    #include <CoreGraphics/CGPDFDocument.h>
    #include <CoreGraphics/CGPDFObject.h>
    #include <CoreGraphics/CGPDFOperatorTable.h>
    #include <CoreGraphics/CGPDFPage.h>
    #include <CoreGraphics/CGPDFScanner.h>
    #include <CoreGraphics/CGPDFStream.h>
    #include <CoreGraphics/CGPDFString.h>
    #include <CoreGraphics/CGPath.h>
    #include <CoreGraphics/CGPattern.h>
    #include <CoreGraphics/CGShading.h>
    
    #endif    /* COREGRAPHICS_H_ */

    Jika anda melihat dengan teliti, anda dapat melihat bahawa CoreGraphics ialah rangka kerja lukisan asas Apa yang sebenarnya akan kami gunakan ialah beberapa fungsi lukisan asas dan pembolehubah bermula dengan CG Ini ialah rangka kerja bahasa C tulen.

    QuartzCore ialah rangka kerja yang anda perkatakan yang mengandungi CoreAnimation Ia adalah rangka kerja pemaparan asas sistem iOS Ia adalah satu set enkapsulasi bahasa OC berdasarkan CoreGraphics , yang merangkumi rendering asas CALayer.

    Saya tertanya-tanya jika anda boleh memahami perbezaan antara keduanya pada ketika ini.

    balas
    0
  • Batalbalas