Skip to main content

AsyncImageAnalyzer

Struct AsyncImageAnalyzer 

Source
pub struct AsyncImageAnalyzer { /* private fields */ }
Available on crate feature async only.
Expand description

True-async entry point for ImageAnalyzer.analyze(imageAt:orientation:configuration:).

Requires macOS 13+. The returned AnalyzeImageFuture resolves to an ImageAnalysis that can then be inspected synchronously via its existing methods or have its subjects queried via AsyncOverlaySubjects.

Implementations§

Source§

impl AsyncImageAnalyzer

Source

pub fn new() -> Result<Self, VisionKitError>

Create a new AsyncImageAnalyzer.

§Errors

Returns VisionKitError::UnavailableOnThisMacOS if the device does not run macOS 13 or later.

Source

pub fn is_supported() -> bool

Returns true when the current Mac supports ImageAnalyzer.

Source

pub fn analyze_image_at_path<P: AsRef<Path>>( &self, path: P, orientation: ImageOrientation, configuration: &ImageAnalyzerConfiguration, ) -> Result<AnalyzeImageFuture, VisionKitError>

Asynchronously analyze the image at path and return an ImageAnalysis.

This is a true async wrapper: the Swift bridge spawns a Task { @MainActor … }, calls await analyzer.analyze(imageAt:orientation:configuration:), and fires a C callback when done. The returned AnalyzeImageFuture resolves when that callback fires.

§Errors

Returns VisionKitError if the path cannot be represented as a C string, if the configuration cannot be serialized, or if VisionKit reports an analysis error.

Trait Implementations§

Source§

impl Drop for AsyncImageAnalyzer

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl Send for AsyncImageAnalyzer

Source§

impl Sync for AsyncImageAnalyzer

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.