composer require weidner/laravel-webcam
php artisan make:livewire CaptureImage
-- CaptureImage.php
namespace App\Http\Livewire;
use Livewire\Component;
use Weidner\LaravelWebcam\Facades\Webcam;
class CaptureImage extends Component
{
public $image = null;
public function takePhoto()
{
$this->image = Webcam::take();
// Optionally save the image to storage or database
}
public function render()
{
return view('livewire.capture-image');
}
}
-- resources/views/livewire/capture-image.blade.php
<div>
<video id="webcam" width="300" height="200" autoplay></video>
<button wire:click="takePhoto">Take Photo</button>
@if ($image)
<img src="{{ $image }}" alt="Captured Image">
@endif
</div>
-- component for display
<livewire:capture-image />
-- if problem:
--- check for errors in console for library compatibility or configuration issues
--- verify that camera permissions are granted in the browser
--- consult the documentation of laravel-webcam for specific usage details