VUE3 시작하기 예: 간단한 이미지 자르기 도구 만들기
Vue.js는 인기 있는 JavaScript 프런트 엔드 프레임워크입니다. 최신 버전인 Vue3이 출시되어 성능, 크기 및 개발 환경이 향상되었으며 점점 더 많은 개발자의 환영을 받고 있습니다. 이 기사에서는 Vue3를 사용하여 간단한 이미지 자르기 도구를 만드는 방법을 소개합니다.
먼저 Vue 프로젝트를 생성하고 필요한 플러그인을 설치해야 합니다. Vue CLI를 사용하여 프로젝트를 생성하거나 수동으로 빌드할 수 있습니다. 여기서는 Vue CLI를 예로 들어 보겠습니다.
# 安装Vue CLI npm install -g @vue/cli # 创建Vue项目 vue create image-cropper # 进入项目文件夹 cd image-cropper # 安装所需插件 npm install vue-cropperjs --save npm install cropperjs --save
Vue-Cropperjs는 이미지 자르기를 위한 플러그인이고, Cropperjs는 Vue-Cropperjs의 핵심 라이브러리이므로 함께 설치해야 합니다.
다음으로 Vue 프로젝트에 Vue-Cropperjs 플러그인을 도입해야 합니다. src/main.js
파일을 다음과 같이 수정합니다. src/main.js
文件如下:
import Vue from 'vue' import App from './App.vue' import VueCropper from 'vue-cropperjs' import 'cropperjs/dist/cropper.css' Vue.use(VueCropper) Vue.config.productionTip = false new Vue({ render: h => h(App), }).$mount('#app')
上述代码中,我们引入了Vue-Cropperjs插件,并在Vue中调用Vue.use()方法进行注册。需要注意的是,这里我们还引入了Cropperjs的样式文件,以保证图片裁剪器的正常运行。
接下来,我们需要在Vue中创建一个图片裁剪器组件。在src/views
目录下新建CropImage.vue
文件,添加以下代码:
<template> <div> <div ref="wrapper"> <img ref="img" :src="src" style="max-width: 100%;" /> </div> <div> <input type="file" @change="onUpload" /> </div> <div> <vue-cropper ref="cropper" :src="src" :auto-crop-area="0.5" :guides="false" :view-mode="1" :drag-mode="dragMode" :crop-box-movable="false" :crop-box-resizable="false" :crop-box-border-radius="50"></vue-cropper> </div> <div> <button @click="onCrop">裁剪</button> </div> </div> </template> <script> export default { name: 'CropImage', data() { return { src: '', cropper: null, dragMode: 'move' } }, methods: { onUpload(e) { const file = e.target.files[0] if (file.type.match(/image.*/)) { const reader = new FileReader() reader.onload = (event) => { this.src = event.target.result } reader.readAsDataURL(file) } }, onCrop() { const canvas = this.$refs.cropper.getCroppedCanvas({ width: 100, height: 100 }) const dataUrl = canvas.toDataURL() console.log(dataUrl) } } } </script>
上述代码中,我们创建了一个名为CropImage
的Vue组件,该组件包含了三个主要元素:
- 图片容器
- 图片上传按钮
- 图片裁剪器
通过img
标签和一个div
标签,我们创建了一个最初的图片容器。用户可以点击“上传”按钮选择一张图片进行裁剪。当用户选择图片后,我们使用FileReader将图片转换为base64编码,并将其赋值给src
属性,以实现图片的预览。
图片裁剪器使用了Vue-Cropperjs插件中提供的vue-cropper
标签,它支持多种属性来控制裁剪器的表现,例如:auto-crop-area
控制自动裁剪的区域比例、guides
控制是否显示裁剪框辅助线、view-mode
控制裁剪器的模式等等。此外,我们还将裁剪框的移动模式设置为“移动”,确保用户能够更好地操作裁剪框。
裁剪按钮被绑定到了onCrop
方法,该方法将图片裁剪后的base64编码输出到控制台,开发者可根据实际需求改写此方法。
最后我们需要在App.vue
文件中引入CropImage.vue
组件。修改src/App.vue
文件如下:
<template> <div id="app"> <CropImage /> </div> </template> <script> import CropImage from './views/CropImage.vue' export default { name: 'App', components: { CropImage } } </script> <style> #app { max-width: 640px; margin: 0 auto; padding: 20px; } </style>
上述代码中,我们将CropImage
组件引入到App.vue
文件中,并在组件标签中通过props
rrreee
src/views
디렉터리에 새 CropImage.vue
파일을 만들고 다음 코드를 추가합니다. 🎜rrreee🎜위 코드에서는 CropImage라는 파일을 만들었습니다.
세 가지 주요 요소를 포함하는 Vue 구성 요소: 🎜- 이미지 컨테이너
- 이미지 업로드 버튼
- 이미지 자르기
img
태그와 div
태그를 사용하여 초기 이미지 컨테이너를 만듭니다. 사용자는 "업로드" 버튼을 클릭하여 잘라낼 이미지를 선택할 수 있습니다. 사용자가 이미지를 선택하면 FileReader를 사용하여 이미지를 base64 인코딩으로 변환하고 이를 src
속성에 할당하여 이미지를 미리 봅니다. 🎜🎜이미지 자르기 도구는 Vue-Cropperjs 플러그인에 제공되는 vue-cropper
태그를 사용합니다. 이 태그는 자르기 도구의 성능을 제어하기 위해 다음과 같은 여러 속성을 지원합니다. Areacode>는 자동 자르기 영역의 비율을 제어하고, guides
는 자르기 프레임 보조선을 표시할지 여부를 제어하고, view-mode
는 자르기 모드를 제어합니다. 등. 또한, 사용자가 자르기 상자를 더 잘 조작할 수 있도록 자르기 상자의 이동 모드를 "이동"으로 설정했습니다. 🎜🎜자르기 버튼은 잘린 이미지의 base64 인코딩을 콘솔에 출력하는 onCrop
메서드에 바인딩되어 있습니다. 개발자는 실제 필요에 따라 이 메서드를 다시 작성할 수 있습니다. 🎜🎜마지막으로 App.vue
파일에 CropImage.vue
구성 요소를 도입해야 합니다. src/App.vue
파일을 다음과 같이 수정합니다: 🎜rrreee🎜위 코드에서는 CropImage
구성 요소를 App.vue
에 도입합니다. 파일을 구성요소 태그의 props
를 통해 매개변수를 전달하여 이미지 자르기 도구를 초기화합니다. 🎜🎜이 시점에서 정상적으로 실행되고 크롭 작업을 수행할 수 있는 간단한 사진 크롭퍼의 제작이 완료되었습니다. 물론 이것은 단지 입문적인 예일 뿐입니다. 초보자는 코드를 수정하고 확장하여 Vue3의 사용 및 개발 기술을 더 깊이 이해할 수 있습니다. 🎜위 내용은 VUE3 시작하기 예: 간단한 이미지 자르기 도구 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

HTML 템플릿의 버튼을 메소드에 바인딩하여 VUE 버튼에 함수를 추가 할 수 있습니다. 메소드를 정의하고 VUE 인스턴스에서 기능 로직을 작성하십시오.

vue.js의 시계 옵션을 사용하면 개발자가 특정 데이터의 변경 사항을들을 수 있습니다. 데이터가 변경되면 콜백 기능을 트리거하여 업데이트보기 또는 기타 작업을 수행합니다. 구성 옵션에는 즉시 콜백을 실행할지 여부와 DEEP를 지정하는 즉시 포함되며, 이는 객체 또는 어레이에 대한 변경 사항을 재귀 적으로 듣는 지 여부를 지정합니다.

VUE 멀티 페이지 개발은 vue.js 프레임 워크를 사용하여 응용 프로그램을 구축하는 방법입니다. 여기서 응용 프로그램은 별도의 페이지로 나뉩니다. 코드 유지 보수 : 응용 프로그램을 여러 페이지로 분할하면 코드를보다 쉽게 관리하고 유지 관리 할 수 있습니다. 모듈 식 : 각 페이지는 쉬운 재사용 및 교체를 위해 별도의 모듈로 사용할 수 있습니다. 간단한 라우팅 : 페이지 간의 탐색은 간단한 라우팅 구성을 통해 관리 할 수 있습니다. SEO 최적화 : 각 페이지에는 자체 URL이있어 SEO가 도움이됩니다.

vue.js에서 JS 파일을 참조하는 세 가지 방법이 있습니다. & lt; script & gt; 꼬리표;; mounted () 라이프 사이클 후크를 사용한 동적 가져 오기; Vuex State Management Library를 통해 수입.

vue.js는 이전 페이지로 돌아갈 수있는 네 가지 방법이 있습니다. $ router.go (-1) $ router.back () 사용 & lt; router-link to = & quot;/quot; Component Window.history.back () 및 메소드 선택은 장면에 따라 다릅니다.

vue.js가 트래버스 어레이 및 객체에 대한 세 가지 일반적인 방법이 있습니다. V- 결합 지시문은 V-FOR와 함께 사용하여 각 요소의 속성 값을 동적으로 설정할 수 있습니다. .MAP 메소드는 배열 요소를 새 배열로 변환 할 수 있습니다.

VUE에서 DIV 요소를 점프하는 두 가지 방법이 있습니다. VUE 라우터를 사용하고 라우터 링크 구성 요소를 추가하십시오. @Click 이벤트 리스너를 추가하고 이것을 호출하십시오. $ router.push () 메소드를 점프하십시오.
