mynulleo/laravel-image-cropper
Composer 安装命令:
composer require mynulleo/laravel-image-cropper
包简介
A lightweight and reusable Laravel Blade component for cropping images with custom aspect ratio, rotation, zoom, and base64 output.
README 文档
README
A reusable Laravel Blade component for cropping images with custom aspect ratio, rotation, zoom, drag, and base64 output.
✅ Requirements
- PHP >= 8.1
- Laravel 10 or 11
- Bootstrap 5 (included in your layout or via CDN)
🔧 Installation
Install the package via Composer:
composer require mynulleo/laravel-image-cropper
📤 Publish Assets
Run the following command to publish the required assets (CSS & JS):
php artisan vendor:publish --tag=image-cropper-assets
Assets will be published to:
public/vendor/image-cropper/
🧩 Usage
Use the component in your Blade form:
<form method="POST" enctype="multipart/form-data"> @csrf <x-image-cropper input-id="uploadImage" preview-id="previewImage" ratio="816/484" output-name="cropped_image" /> <!-- File input --> <input type="file" id="uploadImage" accept="image/*"> <!-- Image preview --> <img id="previewImage" style="max-width: 200px;" /> <button type="submit">Submit</button> </form>
⚙ Features
- Modal-based image cropping
- Fixed or custom aspect ratio (e.g.,
816/484) - Zoom, rotate, drag, flip, reset
- Output: base64-encoded image
- Preview support
- Responsive modal
- Automatically clears input on crop/cancel
- Built with cropperjs
📂 Asset Folder Structure
After publishing:
public/
└── vendor/
└── image-cropper/
├── cropper.css
└── cropper.js
📦 Vite/Webpack Users (optional)
If you use a bundler and want to avoid publishing to public/, you can import the assets directly from:
resources/assets/cropper.css
resources/assets/cropper.js
Then include them in your app.css and app.js builds.
📌 Notes
- Requires Bootstrap 5 (you can include from CDN or your compiled CSS)
- The
output-namefield will be the name of the hidden input that stores the base64 value - You can change modal text/button icons by editing the component view
- Image validation (mime, size, dimension) happens before cropper is shown
🧠 Backend Validation Example (optional)
$request->validate([ 'cropped_image' => 'required|string', // base64 string ]);
🙋♂️ Support
For issues, feature requests, or contributions, please open a ticket on GitHub.
🪪 License
MIT License
© 2025 Mynul Islam (mynulleo)
mynulleo/laravel-image-cropper 适用场景与选型建议
mynulleo/laravel-image-cropper 是一款 基于 Blade 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 07 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 mynulleo/laravel-image-cropper 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mynulleo/laravel-image-cropper 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 31
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-10