搜尋套件、儲存庫與 APP 分類

image_cropping 封面
套件詳情v0.0.16

image_cropping

此套件可幫助您以比例和自由縮放來裁剪影像。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
340
喜歡數
93
Pub 分數
135

安裝套件

flutter pub add image_cropping

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

image_cropping 套件讓 Flutter 開發者能夠實現圖像裁切功能,支援自訂比例與自由縮放。它支援對裁切區域進行精確控制,非常適合用於個人頭像、縮圖,或任何需要調整影像大小與修剪的使用情境。此套件相容於多個平台,包含 Android、iOS、Web、macOS、Windows 與 Linux,確保在不同環境中行為一致。透過直覺的 API,可輕鬆整合至現有應用程式,提升使用者體驗。

適用情境

  • 個人檔案圖片裁剪
  • 縮圖產生
  • 影像編輯工具
  • 使用者頭像自定義
  • 內容創作工作流程
  • 社群媒體圖像處理

主要特色

  • 長寬比鎖定
  • 自由縮放裁剪
  • 跨平台相容性
  • 簡單整合API
  • 即時預覽支援
  • 對多個平台的支援

適合對象

  • 行動應用開發者
  • Web應用程式創建者
  • 圖像編輯功能實現者
  • 社交媒體平台
  • 電子商務應用
  • 面向用戶的照片上傳系統

使用建議

  • 需要圖像輸入驗證
  • 可能需要額外的UI元件以實現完整的使用者體驗
  • 大圖像的效能影響
  • 僅限基本裁剪操作
  • 無內建影像濾鏡
  • 依賴外部依賴項以實現進階功能

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

image_cropping

image_cropping version MIT License MIT License

This plugin supports cropping and rotating images for multiplatform. It Allow inclusion of background, Rotation of image, changing ratio of selection as per requirements.

Allow inclusion of background.

Image Plugin

Rotation of image.

Image Plugin

Change ratio of selection.

Image Plugin

Installation

If you are targeting web, don't forget to add worker.js in your project's root directory.

You can also add worker.js.deps and worker.js.map but they are optional and only used for development.

These 3 files are generated when running the following command in the example folder:

dart compile js -O1 -o web/worker.js lib/worker.dart

For more details on the command, check this link. It converts the dart code to JS, which will then be run in a web worker.

Example
final croppedBytes = await ImageCropping.cropImage(
    context: context,
    imageBytes: bytes,
    onImageStartLoading: () {
        showLoader();
    },
    onImageEndLoading: () {
        hideLoader();
    },
    onImageDoneListener: (data) {
        // You can also use a listener instead of awaiting the function
        setState(() {
          imageBytes = data;
        });
    },
    selectedImageRatio: ImageRatio.RATIO_1_1,
    visibleOtherAspectRatios: true,
    squareBorderWidth: 2,
    squareCircleColor: Colors.black,
    defaultTextColor: Colors.orange,
    selectedTextColor: Colors.black,
    colorForWhiteSpace: Colors.grey,
    encodingQuality: 80,
    outputImageFormat: OutputImageFormat.jpg, 
    workerPath: 'crop_worker.js',
);
Required parameters
BuildContext:

Context is use to push new screen for image cropping.

_imageBytes:

Image bytes is use to draw image in device and if image not fits in device screen then we manage background color(if you have passed colorForWhiteSpace or else White background) in image cropping screen.

_onImageStartLoading:

This is a callback. you have to override and show dialog or etc when image cropping is in loading state.

_onImageEndLoading:

This is a callback. you have to override and hide dialog or etc when image cropping is ready to show result in cropping screen.

_onImageDoneListener:

This is a callback. you have to override and you will get Uint8List as result.

Optional parameters

ImageRatio:

This property contains ImageRatio value. You can set the initialized aspect ratio when starting the cropper by passing a value of ImageRatio. default value is ImageRatio.FREE

visibleOtherAspectRatios:

This property contains boolean value. If this properties is true then it shows all other aspect ratios in cropping screen. default value is true.

squareBorderWidth:

This property contains double value. You can change square border width by passing this value.

squareCircleColor:

This property contains Color value. You can change square circle color by passing this value.

defaultTextColor:

This property contains Color value. By passing this property you can set aspect ratios color which are unselected.

selectedTextColor:

This property contains Color value. By passing this property you can set aspect ratios color which is selected.

colorForWhiteSpace:

This property contains Color value. By passing this property you can set background color, if screen contains blank space.

encodingQuality

Set the encodingQuality of the cropped image. Defaults to 100 (max). High quality involves bigger image file size.

outputImageFormat

Output format of cropped image, can be PNG or JPG, default is JPG.

workerPath

You may want to change the worker.js name, especially if you use other web workers and you already have a worker.js file. Defaults to 'worker.js'.

Note:

For flutter web, copy worker.js from example folder to the project, else it will not work. The result returns in Uint8List. so it can be lost later, you are responsible for storing it somewhere permanent (if needed).

Guideline for contributors

Contribution towards our repository is always welcome, we request contributors to create a pull request to the develop branch only.

Guideline to report an issue/feature request

It would be great for us if the reporter can share the below things to understand the root cause of the issue.

  • Library version
  • Code snippet
  • Logs if applicable
  • Device specification like (Manufacturer, OS version, etc)
  • Screenshot/video with steps to reproduce the issue

Library used

LICENSE!

Image Cropper is MIT-licensed.

Let us know!

We’d be really happy if you send us links to your projects where you use our component. Just send an email to sales@mindinventory.com And do let us know if you have any questions or suggestion regarding our work.

所屬分類

依賴

依賴清單 2 項

原始碼儲存庫

使用此套件的專案