Cara Memangkas Imej Berpusat Flutter- Panduan Mudah

Tambahkan penyata import yang diperlukan untuk image pakej:

import 'dart:io';  
import 'package:image/image.dart' as img;  
import 'package:path_provider/path_provider.dart';  

Buat fungsi untuk memangkas dan menyimpan imej berpusat:

Future<void> cropAndSaveCenteredImage(String imagePath, double cropWidth, double cropHeight, String fileName) async {  
  // Read the image from the file path  
  File imageFile = File(imagePath);  
  List<int> imageBytes = await imageFile.readAsBytes();  
  img.Image image = img.decodeImage(imageBytes);  
  
  // Calculate the center position for cropping  
  int centerX = image.width ~/ 2;  
  int centerY = image.height ~/ 2;  
  
  // Calculate the crop rectangle based on the center position  
  int cropX =(centerX- cropWidth ~/ 2).clamp(0, image.width);  
  int cropY =(centerY- cropHeight ~/ 2).clamp(0, image.height);  
  
  // Crop the image  
  img.Image croppedImage = img.copyCrop(image, cropX, cropY, cropWidth.toInt(), cropHeight.toInt());  
  
  // Get the document directory to save the image  
  Directory directory = await getApplicationDocumentsDirectory();  
  String filePath = '${directory.path}/$fileName.png';  
  
  // Save the image to file  
  File file = File(filePath);  
  await file.writeAsBytes(img.encodePng(croppedImage));  
  
  // Display the file path  
  print('Image saved to: $filePath');  
}  

Panggil fungsi dengan laluan fail imej, lebar tanaman, ketinggian tanaman dan nama fail yang dikehendaki:

void main() async {  
  // Replace 'image_path.png' with the actual path of your image file  
  String imagePath = 'image_path.png';  
  
  // Define the desired crop width and height  
  double cropWidth = 200.0;  
  double cropHeight = 200.0;  
  
  // Define the desired filename(without the extension)  
  String fileName = 'cropped_image';  
  
  // Crop and save the centered image with the specified filename  
  await cropAndSaveCenteredImage(imagePath, cropWidth, cropHeight, fileName);  
}  

Pastikan untuk menggantikan 'image_path.png' dengan laluan sebenar ke fail imej anda. Kod tersebut akan membaca imej, mengira kedudukan tengah, mencipta segi empat potong di sekelilingnya, dan kemudian memangkas imej menggunakan pakej image. Imej yang dipangkas akan disimpan sebagai fail imej PNG baharu dengan nama fail tersuai dalam direktori dokumen aplikasi. Laluan fail akan dicetak dalam konsol untuk rujukan anda.

Sekali lagi, ingat untuk menggunakan pengendalian ralat yang sesuai dan semak nilai nol apabila bekerja dengan fail dan imej.