Я использую ng2-img-cropper
(https://www.npmjs.com/package/ng2-img-cropper).. Он обеспечивает настройки, так что когда файл выбирается из входных данных, он применяет URL base64 к тегу изображения в HTML, в то время как принимает 'cropperSettings', например,как определенную ширину и высоту.
Однако у меня есть требование, когда мне нужно сделать два изображения вместо одного: большое изображение и маленькое изображение. Большое изображение будет 500x500, в то время как маленькоеизображение будет размером 200x200. Я создал два параметра 'cropperSettings', чтобы значения ширины и высоты HTML-кода отображали оба размера. Однако атрибут src для обоих одинаков. В этом случае они оба имеют размер 500x500.
Можно ли с помощью javascript получить элемент html img (у которого base64 является атрибутом src) и превратить его в изображение base64, но с использованием встроенных высоты и ширины, в отличие от высоты и ширины изображения src? (В этом случае3-й тег изображения ниже - Использование меньших настроек высоты и ширины)
HTML
<img-cropper #cropper [image]="data1" [settings]="cropperSettings1"></img-cropper>
<img id="largeImage" [src]="data1.image" [width]="cropperSettings1.croppedWidth" [height]="cropperSettings1.croppedHeight">
<img id="thumbnailImage" [src]="data1.image" [width]="cropperSettings2.croppedWidth" [height]="cropperSettings2.croppedHeight">
ОбрезкаНастройки
// This is for the large image (500x500)
this.cropperSettings1 = new CropperSettings();
this.cropperSettings1.width = 200;
this.cropperSettings1.height = 200;
this.cropperSettings1.croppedWidth = 500;
this.cropperSettings1.croppedHeight = 500;
this.cropperSettings1.canvasWidth = 500;
this.cropperSettings1.canvasHeight = 500;
this.cropperSettings1.minWidth = 500;
this.cropperSettings1.minHeight = 500;
this.cropperSettings1.rounded = false;
this.cropperSettings1.cropperDrawSettings.strokeColor = 'rgba(255,255,255,1)';
this.cropperSettings1.cropperDrawSettings.strokeWidth = 2;
this.cropperSettings1.noFileInput = true;
this.cropperSettings1.keepAspect = true;
this.data1 = {};
// This is for the small image
this.cropperSettings2 = new CropperSettings();
this.cropperSettings2.croppedWidth = 200;
this.cropperSettings2.croppedHeight = 200;
Функция срабатывает при обнаружении файла
var image: any = new Image();
var file: File = event.target.files[0];
var myReader: FileReader = new FileReader();
var that = this;
myReader.onloadend = (loadEvent: any) => {
image.src = loadEvent.target.result;
that.cropper.setImage(image);
};
myReader.readAsDataURL(file);