[x] Предварительный просмотр: адаптивное заполнение левой области обрезки в соответствии с выбранным размером изображения
[x] Обрезка: переместите область предварительного просмотра в правую часть поля обрезки для предварительного просмотра в реальном времени.
[x] Загрузить и очистить: нажмите «ОК», чтобы загрузить обрезанное изображение, нажмите «Отмена», чтобы очистить изображение.
[ ] Рамка кадрирования с изменяемым размером
Этапы реализации
method:funName() - соответствует методу funName в методах в исходном коде.
Данные: DATANAME - данные DATANAME, соответствующие данным в исходном коде
Выбор и чтение
Выберите изображение:(методы: selectPic)
использоватьinput[type="file"]Появится всплывающее окно с изображением выбора, и js активно инициирует событие щелчка;
читать изображение: (методы: readImage)
Чтобы создать объект изображения, используйтеcreateObjectURLотображать изображение.objectURL = URL.createObjectURL(blob);
2. Отображение изображений на холсте
Знания, связанные с холстом, которые необходимо освоить:
Рассчитать ширину и высоту холста:(методы:calcCropperSize)
По размеру изображения рассчитать ширину и высоту холста (данные:cropperCanvasSize), чтобы изображение можно было адаптивно отображать в области кадрирования, и определить положение левого верхнего угла кадрирования (данные: расположение обрезки).
Нарисуйте изображение левой области обрезки:(методы: renderCropperImg)
Данные vue схемы области отсечения:
Нарисуйте изображение для предварительного просмотра вправо:(методы:renderPreviewImg)
3. Переместите поле обрезки
Точка знаний:
onmousedown, onmousemove, onmouseup
Реализация:
methods:drag()
Запишите координаты мыши, и движение мыши вычислит положение центра круга в соответствии со смещением.