pub struct CGImage { /* private fields */ }Expand description
CGImage wrapper for screenshots
Represents a Core Graphics image returned from screenshot capture.
§Examples
let content = SCShareableContent::get()?;
let display = &content.displays()[0];
let filter = SCContentFilter::create().with_display(display).with_excluding_windows(&[]).build();
let config = SCStreamConfiguration::new()
.with_width(1920)
.with_height(1080);
let image = SCScreenshotManager::capture_image(&filter, &config)?;
println!("Screenshot size: {}x{}", image.width(), image.height());Implementations§
Source§impl CGImage
impl CGImage
Sourcepub fn width(&self) -> usize
pub fn width(&self) -> usize
Get image width in pixels
§Examples
let image = SCScreenshotManager::capture_image(&filter, &config)?;
let width = image.width();
println!("Width: {}", width);pub fn as_ptr(&self) -> *const c_void
Sourcepub fn rgba_data(&self) -> Result<Vec<u8>, SCError>
pub fn rgba_data(&self) -> Result<Vec<u8>, SCError>
Get raw RGBA pixel data
Returns a vector containing RGBA bytes (4 bytes per pixel). The data is in row-major order.
§Errors
Returns an error if the pixel data cannot be extracted
Sourcepub fn save(&self, path: &str, format: ImageFormat) -> Result<(), SCError>
pub fn save(&self, path: &str, format: ImageFormat) -> Result<(), SCError>
Save the image to a file in the specified format
§Arguments
path- The file path to save the image toformat- The output format (PNG, JPEG, TIFF, GIF, BMP, or HEIC)
§Errors
Returns an error if the image cannot be saved
§Examples
let image = SCScreenshotManager::capture_image(&filter, &config)?;
// Save as PNG (lossless)
image.save("/tmp/screenshot.png", ImageFormat::Png)?;
// Save as JPEG with 85% quality
image.save("/tmp/screenshot.jpg", ImageFormat::Jpeg(0.85))?;
// Save as HEIC with 90% quality (smaller file size)
image.save("/tmp/screenshot.heic", ImageFormat::Heic(0.9))?;Trait Implementations§
impl Send for CGImage
impl Sync for CGImage
Auto Trait Implementations§
impl Freeze for CGImage
impl RefUnwindSafe for CGImage
impl Unpin for CGImage
impl UnwindSafe for CGImage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more