Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 精品视频在线免费看,不卡中文字幕在线,天堂一区二区三区在线观看

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          這款圖片剪裁開源項(xiàng)目,簡(jiǎn)直逆天了

          這款圖片剪裁開源項(xiàng)目,簡(jiǎn)直逆天了

          天看到一款前端圖片剪裁開源項(xiàng)目- vue-picture-cut,基于vue開發(fā),功能太逆天,特來分來,建議收藏;


          先來個(gè)預(yù)覽看看:



          功能在線演示站點(diǎn):

          https://htmlpreview.github.io/?https://raw.githubusercontent.com/987153776/vue-picture-cut/master/dist/index.html


          這是一款基于vue和typescript開發(fā)的一款圖片剪裁處理工具。優(yōu)點(diǎn):原生、輕量、使用簡(jiǎn)單、功能全面、擴(kuò)展性強(qiáng)。目前功能:縮放、翻折、旋轉(zhuǎn)、邊緣校驗(yàn)、矩形剪裁、任意(橢)圓剪裁。


          碼云開源地址:

          https://gitee.com/light-year/vue-picture-cut


          github開源地址:

          https://github.com/987153776/vue-picture-cut





          vue-picture-cut 2.x

          English | 中文

          基于vue和typescript開發(fā)的一款圖片剪裁處理工具
          優(yōu)點(diǎn):原生、輕量、使用簡(jiǎn)單、功能全面、擴(kuò)展性強(qiáng)
          目前功能:縮放、翻折、旋轉(zhuǎn)、邊緣校驗(yàn)、矩形剪裁、任意(橢)圓剪裁
          關(guān)于縮放:鼠標(biāo)(鼠標(biāo)滾輪縮放)、觸屏(雙指縮放)

          github主頁
          碼云主頁
          demo演示(github)
          demo演示(碼云)

          0.x版本點(diǎn)這里【此版本bug太多,不再維護(hù)】

          一、使用方法

          通過npm安裝插件

          在vue中使用

          1、在main.js中全局引用

          import Vue from 'vue';
          import 'vue-picture-cut/lib/vue-picture-cut.css';
          import VuePictureCut from 'vue-picture-cut';
          
          Vue.use(VuePictureCut);

          2、或者在.vue文件中單獨(dú)引用

          <template>
            <div>
          	<input type="file" accept="image/*" @change="inputChange"/>
              <vue-picture-cut :src="src" @on-change="cutChange"/>
            </div>
          </template>
          
          <script>
            import { VuePictureCut } from 'vue-picture-cut';
          
            export default {
              // ...
              components: {
                VuePictureCut
              },
              data () {
                return {
                  src: null,
                  blob: null,
                  base64: null
                }
              },
              methods: {
                inputChange(e) {
                  const file=e.target.files[0];
                  this.src=URL.createObjectURL(file);
                },
                /**
                 * @param blob      BLOB對(duì)象
                 * @param base64    base64字符串
                 */
                cutChange({ blob, base64 }) {
                  this.blob=blob;
                  this.base64=base64;
                }
              }
              // ...
            }
          </script>
          
          <style>
            @import "~vue-picture-cut/lib/vue-picture-cut.css";
          </style>

          3、注意

          組件在使用時(shí),寬高跟隨父級(jí)標(biāo)簽,所以需要設(shè)置父級(jí)標(biāo)簽的寬高。

          二、API

          暴露的對(duì)象

          全局引入時(shí)

          import VuePictureCut from 'vue-picture-cut';
          Vue.use(VuePictureCut);

          此時(shí)會(huì)注冊(cè):VuePictureCut、VuePictureCutMask、VuePictureCutMenu三個(gè)組件。

          獨(dú)立引用

          import {
            VuePictureCut,
            VuePictureCutMask,
            VuePictureCutMenu,
            Bezier,
            createAnimation,
            Tool,
            createUtils
          } from 'vue-picture-cut';

          組件:VuePictureCut、VuePictureCutMask、VuePictureCutMenu。工具類:Bezier、createAnimation、Tool、createUtils。

          1、VuePictureCut組件

          slot插槽: default、menu

          使用:

          /demo/demo1.html
          /demo/demo2.html

          <template>
            <vue-picture-cut
              ref="pictureCut"
              :src="src"
              :magnification="magnification"
              :init-angle="initAngle"
              :msk-option="mskOption"
              :max-pixel="maxPixel"
              :encoder-options="encoderOptions"
              :format="format"
              :rotate-control="rotateControl"
              :menu-position="menuPosition"
              :menu-thickness="menuThickness"
              :background-color="backgroundColor"
              @on-change="onChange"
            />
          </template>

          屬性:

          1. src:
            類型:string
            默認(rèn):null
            描述:圖片鏈接
          2. magnification:
            類型:number
            默認(rèn):1.5
            描述:畫布繪制縮放率,取值大于0,取值越大繪制的邏輯像素越高
          3. initAngle:
            類型:number
            必須:非必須
            描述:載入圖片的初始旋轉(zhuǎn)角度
          4. maxPixel:
            類型:number
            必須:非必須
            描述:導(dǎo)出圖片的寬高中較長(zhǎng)邊的像素,不傳時(shí)則依據(jù)實(shí)際圖片大小自適應(yīng)。
          5. encoderOptions:
            類型:number
            必須:非必須
            描述:導(dǎo)出圖片的壓縮率,不傳時(shí)按0.8計(jì)算,取值范圍0~1。
          6. format:
            類型:string
            默認(rèn):false
            描述:導(dǎo)出圖片的格式,不傳時(shí)導(dǎo)出格式為“image/jpeg”,其值可以為“image/png”等瀏覽器支持格式。
          7. mskOption:
            類型:object
            默認(rèn):{ width: 1, height: 1, isRound: false, resize: true}
            描述:
            width:number 裁剪框比例寬
            height:number 裁剪框比例高
            isRound:boolean 矩形true,橢圓false
            resize:boolean 裁剪框大小是否可通過拖動(dòng)改變大小
            color:string 遮罩顏色
            borderColor:string 裁剪框顏色
          8. rotateControl:
            類型:boolean
            默認(rèn):false
            描述:是否顯示旋轉(zhuǎn)控件。
          9. menuPosition:
            類型:string
            默認(rèn):bottom
            描述:菜單欄位置,取值:top、bottom、left、right。
          10. menuThickness:
            類型:number
            必須:非必須
            描述:menuPosition取top、bottom時(shí)表示菜單欄高度,menuPosition取left、right時(shí)表示菜單欄高度寬度,取值大于0,等于0時(shí)隱藏菜單欄。
          11. backgroundColor:
            類型:string
            必須:非必須
            描述:組件背景色。

          事件:

          1. onChange ({ blob, base64 }):監(jiān)聽圖片最終裁剪導(dǎo)出的事件
            blob:導(dǎo)出圖片的Blob對(duì)象,可用于圖片上傳
            base64:導(dǎo)出圖片的base64字符串,可用于圖片上傳

          方法:

          1. this.$refs['pictureCut'].scale(zoom):縮放圖片
            參數(shù)zoom:縮放后的尺寸和當(dāng)前尺寸的比例,取值大于0,0到1之間縮小,大于1放大。

          2、VuePictureCutMask組件

          VuePictureCutMask是VuePictureCut默認(rèn)slot插槽組件,是控制遮罩裁剪框相關(guān)的組件,使用它與不使用它效果一樣。

          使用:

          /demo/demo3.html

          <template>
            <vue-picture-cut
              :src="src"
              :magnification="magnification"
              :init-angle="initAngle"
              :rotate-control="rotateControl"
              :max-pixel="maxPixel"
              :encoder-options="encoderOptions"
              :format="format"
              :background-color="backgroundColor"
              @on-change="onChange"
            >
              <vue-picture-mask
                :width="width"
                :height="height"
                :is-round="isRound"
                :resize="resize"
                :color="color"
                :border-color="borderColor"
              />
            </vue-picture-cut>
          </template>

          屬性:

          1. width:
            類型:number
            默認(rèn):1
            描述:裁剪框比例寬
          2. height:
            類型:number
            默認(rèn):1
            描述:裁剪框比例高
          3. isRound:
            類型:boolean
            默認(rèn):false
            描述:矩形true,橢圓false
          4. resize:
            類型:boolean
            默認(rèn):false
            描述:裁剪框大小是否可通過拖動(dòng)改變大小
          5. color:
            類型:string
            必須:非必須
            描述:遮罩顏色
          6. borderColor:
            類型:string
            必須:非必須
            描述:裁剪框顏色

          3、VuePictureCutMenu組件

          菜單欄組件,效果參見Demo。

          使用:

          /demo/demo4.html
          /demo/demo5.html

          <template>
            <vue-picture-cut
              :src="src"
              :magnification="magnification"
              :init-angle="initAngle"
              :rotate-control="rotateControl"
              :msk-option="mskOption"
              @on-change="cutChange"
            >
              <vue-picture-menu
                slot="menu"
                :cancel="false"
                :max-pixel="maxPixel"
                :encoder-options="encoderOptions"
                :format="format"
                :theme="theme"
                confirm-name="Ok"
                cancel-name="Cancel"
                size-auto-name="auto"
                size-raw-name="raw"
                menu-rotate-name="Rotate"
                @on-change="onChange"
                @on-cancel="onCancel"
              />
            </vue-picture-cut>
          </template>

          屬性:

          1. cancel:
            類型:boolean
            默認(rèn):false
            描述:是否顯示取消按鈕。
          2. maxPixel:
            類型:number
            必須:非必須
            描述:導(dǎo)出圖片的寬高中較長(zhǎng)邊的像素,不傳時(shí)則依據(jù)實(shí)際圖片大小自適應(yīng)。
          3. encoderOptions:
            類型:number
            必須:非必須
            描述:導(dǎo)出圖片的壓縮率,不傳時(shí)按0.8計(jì)算,取值范圍0~1。
          4. format:
            類型:string
            默認(rèn):false
            描述:導(dǎo)出圖片的格式,不傳時(shí)導(dǎo)出格式為“image/jpeg”,其值可以為“image/png”等瀏覽器支持格式。
          5. theme:
            類型:string
            默認(rèn):'default'
            描述:菜單欄主題。取值:'default'、'dark'、'gray'
          6. confirmName:
            類型:string
            默認(rèn):'Ok'
            描述:確定按鈕的文字
          7. cancelName:
            類型:string
            默認(rèn):'cancel'
            描述:取消按鈕的文字
          8. sizeAutoName:
            類型:string
            默認(rèn):'auto'
            描述:菜單欄按鈕文字
          9. sizeRawName:
            類型:string
            默認(rèn):'raw'
            描述:菜單欄按鈕文字
          10. menuRotateName:
            類型:string
            默認(rèn):'Rotate'
            描述:菜單欄按鈕文字
          11. root:
            類型:object
            必須:不通過slot方式在外部使用時(shí),必須傳。
            描述:取值為VuePictureCut實(shí)例

          事件:

          1. onChange ({ blob, base64 }):監(jiān)聽圖片最終裁剪導(dǎo)出的事件,即點(diǎn)擊確認(rèn)按鈕
            blob:導(dǎo)出圖片的Blob對(duì)象,可用于圖片上傳
            base64:導(dǎo)出圖片的base64字符串,可用于圖片上傳
          2. onCancel ():監(jiān)聽點(diǎn)擊取消按鈕

          4、Bezier對(duì)象

            import { Bezier } from 'vue-picture-cut';
          
            const bezier=Bezier();
            bezier.setOpt(Bezier.BEZIER['ease-in-out']);
            const y=bezier.getPoint(0.5);
            console.log(y);

          (1) 靜態(tài)屬性BEZIER,是一個(gè)鍵值對(duì),包含一些預(yù)設(shè)值

          說明




          linear

          [0.0, 0.0, 1.0, 1.0]

          線性過渡

          ease

          [0.25, 0.1, 0.25, 1.0]

          平滑過渡

          ease-in

          [0.42, 0, 1.0, 1.0]

          由慢到快

          ease-out

          [0, 0, 0.58, 1.0]

          由快到慢

          ease-in-out

          [0.42, 0, 0.58, 1.0]

          由慢到快再到慢

          (2) 構(gòu)造函數(shù)

          一個(gè)無參的構(gòu)造函數(shù),內(nèi)部調(diào)用了setOptByString('ease')方法

          (3) 方法

          方法名

          說明

          參數(shù)

          返回值





          setOpt

          設(shè)置貝塞爾曲線類型

          (arg: string , ParamsInterface='ease')

          Bezier對(duì)象本身

          setOptByString

          設(shè)置貝塞爾曲線類型

          BEZIER預(yù)設(shè)值(arg='ease')

          Bezier對(duì)象本身

          setOptByArr

          設(shè)置貝塞爾曲線類型

          (x1: number, y1: number, x2: number, y2: number)

          Bezier對(duì)象本身

          getPoint

          返回x坐標(biāo)對(duì)應(yīng)的y坐標(biāo)值

          (x: number) 0~1之間

          對(duì)應(yīng)y坐標(biāo),0~1之間

          (4) 參數(shù)ParamsInterface說明

          ParamsInterface為包含4個(gè)number類型的數(shù)組。

          5、 createAnimation方法

            import { createAnimation } from 'vue-picture-cut';
          
            const animation=createAnimation(option);

          createAnimation會(huì)返回一個(gè)Animation對(duì)象

          (1) 參數(shù)option

          參數(shù)

          說明

          類型

          可選值

          必需

          默認(rèn)值







          duration

          動(dòng)畫持續(xù)時(shí)間,單位毫秒

          number

          ——

          false

          1000

          timing

          動(dòng)畫的過渡類型

          string、number[]

          Bezier.BEZIER中的值,或者ParamsInterface類型

          false

          ease

          delay

          動(dòng)畫的延遲時(shí)間,單位毫秒

          number

          ——

          false

          0

          iteration

          動(dòng)畫循環(huán)次數(shù),infinite為無限循環(huán)

          number、string

          'infinite'或正整數(shù)

          false

          0

          direction

          動(dòng)畫在循環(huán)中是否反向運(yùn)動(dòng)

          string

          normal(默認(rèn),正向運(yùn)動(dòng));reverse(反向運(yùn)行);alternate(先正向,后反向,并交替);alternate-reverse(先反向,后正向,并交替)。

          false

          normal

          change

          回調(diào)函數(shù),接收參數(shù)x,x在0~1之間,動(dòng)畫在這里處理

          Function

          ——

          false

          ——

          end

          回調(diào)函數(shù),動(dòng)畫結(jié)束時(shí)執(zhí)行

          Function

          ——

          false

          ——

          (2) Animation對(duì)象方法

          方法名

          說明

          參數(shù)

          返回值





          start

          開始動(dòng)畫

          ——

          Animation對(duì)象本身

          abort

          中止動(dòng)畫

          ——

          ——

          6、 Tool對(duì)象

            import { Tool } from 'vue-picture-cut';
          
            Tool.loadImg('http://xxx.xxx.xxx/xxx.jpg')
            .then(image=> {
              // 加載圖片成功
              // image為Image對(duì)象
            }, ()=> {
              // 加載圖片失敗
            });

          包含方法

          1. loadImg (src: string): Promise<HTMLImageElement>
            描述:載入圖片
            參數(shù) src:圖片的鏈接
            返回 Promise:略
          2. rotatePoint(x: number, y: number, angle: number): Point
            描述:將一個(gè)點(diǎn)繞原點(diǎn)旋轉(zhuǎn)angle度后,計(jì)算新的點(diǎn)的坐標(biāo)
            參數(shù) x:點(diǎn)的x坐標(biāo)
            參數(shù) y:點(diǎn)的y坐標(biāo)
            參數(shù) angle:旋轉(zhuǎn)角度
            返回 Point:{x: number, y: number} 新的點(diǎn)
          3. clipBy (img: HTMLImageElement, width: number, height: number, showRect: RectFull, encoderOptions=0.8, format='image/jpeg', pathDone?: PathDone): string
            描述:根據(jù)坐標(biāo)剪裁圖像
            參數(shù) img:Image對(duì)象
            參數(shù) width:導(dǎo)出圖片的寬度(px)
            參數(shù) height:導(dǎo)出圖片的高度(px)
            參數(shù) showRect:RectFull對(duì)象
            參數(shù) encoderOptions:壓縮率
            參數(shù) format:導(dǎo)出圖片的格式'image/jpeg'、'image/png'等
            參數(shù) pathDone:自定義路徑的方法PathDone
            返回 String:base64
          4. clipByRound (img: HTMLImageElement, width: number, height: number, showRect: RectFull, encoderOptions=0.8, format='image/jpeg'): string
            描述:根據(jù)坐標(biāo)內(nèi)切圓剪裁圖像
            參數(shù) img:略
            參數(shù) width:略
            參數(shù) height:略
            參數(shù) showRect:略
            參數(shù) encoderOptions:略
            參數(shù) format:略
            返回 String:base64
          5. clipByMax (img: HTMLImageElement, max=2000, encoderOptions=1): ClipResult | void
            描述:若圖片寬或高大于max,則壓縮圖片
            參數(shù) img:略
            參數(shù) max:略
            參數(shù) encoderOptions:略
            返回 ClipResult | void:返回ClipResult對(duì)象或undefined
          6. base64ToBlob (base64: string, format='image/jpeg'): Blob | null
            描述:將base64轉(zhuǎn)Blob對(duì)象
            參數(shù) base64:略
            參數(shù) format:base64的格式
            返回 Blob | null:返回Blob對(duì)象或null
          7. getEllipseRectByRect(w: number, h: number, angle: number): Rect
            描述:將一個(gè)正矩形的內(nèi)切橢圓旋轉(zhuǎn)angle度,計(jì)算該橢圓的外接正矩形。(假設(shè)矩形中心為原點(diǎn))
            參數(shù) w:初始正矩形寬
            參數(shù) h:初始正矩形高
            參數(shù) angle:逆時(shí)針旋轉(zhuǎn)角度
            返回 Rect:返回Rect對(duì)象
          8. getRectByRect(w: number, h: number, angle: number): Rect
            描述:將一個(gè)正矩形旋轉(zhuǎn)angle度,計(jì)算該矩形的外接正矩形。(假設(shè)矩形中心為原點(diǎn))
            參數(shù) w:初始正矩形寬
            參數(shù) h:初始正矩形高
            參數(shù) angle:逆時(shí)針旋轉(zhuǎn)角度
            返回 Rect:返回Rect對(duì)象

          7、 createUtils方法

          <template>
            <div>
          	<input type="file" accept="image/*" @change="inputChange"/>
              <vue-picture-cut ref="pictureCut" :src="src"/>
              <button @click="doCut">裁剪</button>
            </div>
          </template>
          
          <script>
            import { VuePictureCut, createUtils } from 'vue-picture-cut';
          
            export default {
              // ...
              components: {
                VuePictureCut
              },
              data () {
                return {
                  utils: null,
                  src: null,
                  blob: null,
                  base64: null
                }
              },
              mounted() {
                this.utils=createUtils(this.$refs['pictureCut']);
              },
              methods: {
                inputChange(e) {
                  const file=e.target.files[0];
                  this.src=URL.createObjectURL(file);
                },
                doCut() {
                  const res=this.utils.cut();
                  if (res) {
                      this.blob=res.file;   // BLOB對(duì)象
                      this.base64=res.src;  // base64字符串
                  }
                }
              }
              // ...
            }
          </script>
          
          <style>
            @import "~vue-picture-cut/lib/vue-picture-cut.css";
          </style>

          包含方法

          1. cut(maxPixel?: number, encoderOptions?: number, format?: string): ClipResult | null
            描述:裁剪
            參數(shù) maxPixel:導(dǎo)出圖片的寬高中較長(zhǎng)邊的像素,不傳時(shí)則依據(jù)實(shí)際圖片大小自適應(yīng)。
            參數(shù) encoderOptions:壓縮率
            參數(shù) format:導(dǎo)出圖片的格式'image/jpeg'、'image/png'等
            返回 ClipResult | null:略
          2. cut(opt?: { maxPixel?: number, encoderOptions?: number, format?: string }): ClipResult | null
            描述:裁剪
            參數(shù) opt.maxPixel:導(dǎo)出圖片的寬高中較長(zhǎng)邊的像素,不傳時(shí)則依據(jù)實(shí)際圖片大小自適應(yīng)。
            參數(shù) opt.encoderOptions:壓縮率
            參數(shù) opt.format:導(dǎo)出圖片的格式'image/jpeg'、'image/png'等
            返回 ClipResult | null:略
          3. setMaskRound(isRound=true): void
            描述:設(shè)置裁剪框的形狀。
            參數(shù) isRound:true (圓形),false (矩形)。
          4. setMaskSize(w: number, h: number): void
            描述:設(shè)置剪裁框尺寸
            參數(shù) w:比例寬
            參數(shù) h:比例高
          5. setMaskSizeToOriginal (): void
            描述:按圖片寬高比例設(shè)置剪裁框尺寸
          6. setMaskResize (resize=true): void
            描述:設(shè)置剪裁框是否可拖動(dòng)改變大小
            參數(shù) resize:略
          7. rotate (angle: number, animation=false): number | void
            描述:圖片旋轉(zhuǎn)
            參數(shù) angle:逆時(shí)針角度
            參數(shù) animation:是否進(jìn)行動(dòng)畫
            返回 number | null:圖片旋轉(zhuǎn)后的逆時(shí)針角度
          8. rotateTo (angle: number, animation=false): void
            描述:圖片旋轉(zhuǎn)指定角度
            參數(shù) angle:逆時(shí)針角度
            參數(shù) animation:是否進(jìn)行動(dòng)畫
          9. setFlipV(animation?: boolean): boolean | void
            描述:圖片垂直翻轉(zhuǎn)
            參數(shù) animation:是否進(jìn)行動(dòng)畫
            返回 boolean | null:和原圖相比,是否翻轉(zhuǎn)了,true (翻轉(zhuǎn)),false (原始)。
          10. setFlipH(animation?: boolean): boolean | void
            描述:圖片水平翻轉(zhuǎn)
            參數(shù) animation:是否進(jìn)行動(dòng)畫
            返回 boolean | null:和原圖相比,是否翻轉(zhuǎn)了,true (翻轉(zhuǎn)),false (原始)。
          11. setFlip (sV: boolean, sH: boolean, animation?: boolean): void
            描述:圖片翻轉(zhuǎn)
            參數(shù) sV:垂直,true (翻轉(zhuǎn)),false (原始)。
            參數(shù) sH:水平,true (翻轉(zhuǎn)),false (原始)。
            參數(shù) animation:是否進(jìn)行動(dòng)畫
          12. scale(zoom: number): void
            描述:圖片縮放
            參數(shù) zoom:縮放系數(shù)
          13. reset(): void
            描述:重置圖片狀態(tài)
          14. getOptions(): CutOptions | null
            描述:獲取組件內(nèi)部當(dāng)前狀態(tài)的參數(shù)。
            返回 CutOptions | null:略。

          8、 內(nèi)部對(duì)象說明

          ...待編輯

          3、自定義擴(kuò)展

          暫時(shí)可以參考src/App.vue和src/lib/views/vue-picture-cut-menu.vue

          3.1、自定義裁剪

          ...文檔待編輯

          片和屬性

          • 本次我們將了解如何在頁面添加圖片,圖片屬性的標(biāo)簽是<img />,注意圖片屬性是沒有像段落標(biāo)簽?zāi)菢拥年P(guān)閉標(biāo)簽;如下方所示:
           <img src="./post-img.jpg" />

          注:HTML有多種標(biāo)簽中使用的屬性,屬性的作用是描述元素,src就是屬性,為了描述圖片。圖片的路徑可以是絕對(duì)路徑也可以是相對(duì)路徑。

          • 除此之外,為了防止圖片顯示不正常,所以我們將給圖片一段描述文字。這個(gè)非常重要!也有其他場(chǎng)景可以用到,例如盲人使用網(wǎng)頁可以通過文字閱讀的方式展現(xiàn)給他。如下方所示:
           <img src="./post-img.jpg" alt="HTML 代碼圖片" />

          若我們圖片無法顯示,將會(huì)如下圖顯示:

          • 現(xiàn)在圖片是放在網(wǎng)頁上面了,但是圖片太大了,我們?nèi)绾慰刂茍D片的高度和寬度的,這樣就是使用width和height去控制圖片的寬度和高度,默認(rèn)數(shù)值是px像素,現(xiàn)在我們不需要知道像素是什么,等CSS我們細(xì)說,如下方所示:
          <img src="./post-img.jpg" alt="HTML 代碼圖片" width="500" height="200" />


          其他屬性

          • 除了圖片的屬性,還有其他很多屬性,例如頁面的語言元素,在html標(biāo)簽使用lang=“zh-CN” ,CN代表中文;如下所示:
          <html lang="zh-CN">


          • 接著我們看看編碼格式
          <head>
           <meta charset="UTF-8" />   
          </head>

          注:meta元素代表元數(shù)據(jù),【charset="UTF-8"】,表示字符集編碼格式為UTF-8

          • 結(jié)合上一章,本次我們需要實(shí)現(xiàn)的頁面是這樣的

          uniapp開發(fā)時(shí),富文本里的圖片路徑因?yàn)槭窍鄬?duì)路徑而無法顯示,這時(shí)候就需要用正則方式給圖片路徑加上絕對(duì)地址(http://域名),讓uniapp能正常顯示。


          另外,因?yàn)楦晃谋纠锏膱D片因?yàn)閷挾忍珜挘瑢?dǎo)致顯示超出界面,同樣,可以用正則方式加以修正(但推薦采用在uniapp模板里加CSS樣式控制)


          1、把uniapp里富文本的圖片相對(duì)路徑改為絕對(duì)路徑(加上https(s)://域名)的形式,代碼如下:

          this.content1 = content1.replace(/\<img src="/gi, '<img src="http://localhost:2000');//content1為富文本里的內(nèi)容



          2、修改富文本里的圖片樣式,代碼如下:

          A、推薦方式,即非正則方式:

          <view class="detail">
              <rich-text :nodes="content1"></rich-text>
          </view>
          <style>
              .detail img{max-width:100%;}
          </style>


          B、正則方式:


          主站蜘蛛池模板: 日韩精品一区二区三区中文3d| 亚洲一区二区三区久久久久| 亚洲一区二区三区高清视频| 亚洲色欲一区二区三区在线观看| 亚洲av无码片区一区二区三区| 国产精品一区二区资源| 天堂一区人妻无码| 国产乱码精品一区三上| 一区二区三区四区视频在线| 亚洲综合国产一区二区三区| 竹菊影视欧美日韩一区二区三区四区五区 | 国产精品免费视频一区| 在线播放精品一区二区啪视频| 亚洲熟妇av一区二区三区漫画| 国产色情一区二区三区在线播放| 久久中文字幕一区二区| 日韩最新视频一区二区三| 亚洲综合无码精品一区二区三区| 精品理论片一区二区三区| 日本v片免费一区二区三区| 国产精品无圣光一区二区| 麻豆一区二区99久久久久| 国产精品无圣光一区二区| 2022年亚洲午夜一区二区福利| 蜜桃视频一区二区| 免费无码A片一区二三区| 久久精品一区二区三区中文字幕| 久久精品国产一区二区三区| 中文字幕日韩一区二区不卡 | 无码AⅤ精品一区二区三区| 精品一区二区三区免费毛片| 亚洲日本精品一区二区| 国产成人一区二区精品非洲| 久久青青草原一区二区| 又硬又粗又大一区二区三区视频 | 视频一区视频二区在线观看| 一区 二区 三区 中文字幕| 亚洲AⅤ无码一区二区三区在线| 国产在线一区二区三区| 久久久无码一区二区三区| 精品视频午夜一区二区|