Tambah pratelan impor sing dibutuhake kanggo image
paket kasebut:
import 'dart:io';
import 'package:image/image.dart' as img;
import 'package:path_provider/path_provider.dart';
Nggawe fungsi kanggo motong lan nyimpen gambar tengah:
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');
}
Telpon fungsi kasebut kanthi path file gambar, jembaré potong, dhuwur potong, lan jeneng berkas sing dikarepake:
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);
}
Priksa manawa kanggo ngganti 'image_path.png'
karo path nyata kanggo file gambar. Kode kasebut bakal maca gambar kasebut, ngetung posisi tengah, nggawe persegi panjang potong ing sakubenge, banjur potong gambar kasebut nggunakake image
paket kasebut. Gambar sing dipotong bakal disimpen minangka file gambar PNG anyar kanthi jeneng berkas khusus ing direktori dokumen aplikasi. Path file bakal dicithak ing console kanggo referensi sampeyan.
Maneh, elinga nggunakake penanganan kesalahan sing cocog lan priksa nilai null nalika nggarap file lan gambar.