精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

鴻蒙JS自定義組件—局部放大圖片組件

系統 OpenHarmony
主要通過Canvas組件的drawImage方法實現圖片顯示。該方法需要輸入9個參數,分別是圖片對象,原圖的X軸裁剪起點,原圖的Y軸裁剪起點,裁剪的寬度,裁剪的高度,畫布X軸畫圖的起點,畫布Y軸畫圖的起點,畫布的寬度,畫布的高度。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

組件介紹

本圖片組件在顯示圖片的基礎上附帶局部放大功能,在原本設定的圖片區域將局部進行放大顯示,在不占用其余布局空間的情況下,滿足用戶仔細欣賞圖片細節的需要。實現效果如下:

#打卡不停更# 鴻蒙JS自定義組件——局部放大圖片組件-開源基礎軟件社區

項目結構

#打卡不停更# 鴻蒙JS自定義組件——局部放大圖片組件-開源基礎軟件社區

組件開發

頁面布局

  • 為組件綁定doubleclick雙擊事件和touchmove觸屏移動事件,分別用于切換圖片縮放和控制局部顯示區域移動。
<div style="width: {{ imageWidth }}px; height: {{ imageHeight }}px;">
<canvas src="{{ imageSrc }}" ref="zoom" class="canvas-border"
@doubleclick="zoomswitch" @touchmove="getmove"></canvas>
</div>

組件屬性參數設置

參數名

描述

參數類型

默認值

imageWidth

設置圖片寬度

Number

500

imageHeight

設置圖片高度

Number

500

imageSrc

設置圖片地址

String


scale

圖片放大的比例

Number

2

實現原理

  • 主要通過canvas組件的drawImage方法實現圖片顯示。該方法需要輸入9個參數,分別是圖片對象,原圖的X軸裁剪起點,原圖的Y軸裁剪起點,裁剪的寬度,裁剪的高度,畫布X軸畫圖的起點,畫布Y軸畫圖的起點,畫布的寬度,畫布的高度。
ctx0.drawImage(changeview,
this.initwidth / 2 - this.initwidth / this.scale / 2,
this.initheight / 2 - this.initheight / this.scale / 2,
changeview.width / this.scale,
changeview.height / this.scale,
0, 0,
this.imageWidth, this.imageHeight);

#打卡不停更# 鴻蒙JS自定義組件——局部放大圖片組件-開源基礎軟件社區

  • 給canvas組件綁定doubleclick雙擊事件,變化布爾型變量isZoom的值,用于切換局部放大模式和原始視圖。
zoomswitch() {
this.isZoom = !this.isZoom;
let changeview = new Image();
changeview.src = this.img.src;
if (true == this.isZoom) {
console.log("拉近鏡頭");
changeview.onload = () => {
ctx0.drawImage(changeview,
this.initwidth / 2 - this.initwidth / this.scale / 2,
this.initheight / 2 - this.initheight / this.scale / 2,
changeview.width / this.scale,
changeview.height / this.scale,
0, 0,
this.imageWidth, this.imageHeight);
};
}
else {
console.log("恢復全局視角");
changeview.onload = () => {
ctx0.drawImage(changeview,
0, 0,
this.initwidth, this.initheight,
0, 0,
this.imageWidth, this.imageHeight);
};
}
},
  • 給canvas組件綁定touchmove事件,獲取touchmove事件的觸點坐標,經過計算得出drawImage方法中的幾個關鍵參數值,并添加判斷條件,當觸點坐標過于接近邊緣時設置極限值。
getmove(event) {
if (false == this.isZoom) {
return;
}
this.points.x = (event.touches[0].localX - this.imageWidth / this.scale / 2) / this.imageWidth * this.initwidth;
this.points.y = (event.touches[0].localY - this.imageHeight / this.scale / 2) / this.imageHeight * this.initheight;
if (((this.imageWidth / this.scale / 2) > event.touches[0].localX)
|| ((this.imageWidth - this.imageWidth / this.scale / 2) < event.touches[0].localX)) {
if ((this.imageWidth / this.scale / 2) > event.touches[0].localX) {
this.points.x = 0;
}
else {
this.points.x = this.initwidth - this.initwidth / this.scale;
}
}
if (((this.imageHeight / this.scale / 2) > event.touches[0].localY)
|| ((this.imageHeight - this.imageHeight / this.scale / 2) < event.touches[0].localY)) {
if ((this.imageHeight / this.scale / 2) > event.touches[0].localY) {
this.points.y = 0;
}
else {
this.points.y = this.initheight - this.initheight / this.scale;
}
}
let newview = new Image();
newview.src = this.img.src;
newview.onload = () => {
ctx0.drawImage(newview,
this.points.x, this.points.y,
newview.width / this.scale, newview.height / this.scale,
0, 0,
this.imageWidth, this.imageHeight);
};
},

組件引用

  • 引用聲明
<element name="zoomimage" src="common/zoomimage/zoomimage.hml"></element>
  • 參數傳遞
<zoomimage image-width="660" image-height="550" image-src="common/images/mural.jpg" scale="3"></zoomimage>

結語

假如大家有自定義組件的創意,可以自己試著實現一下,或是在其他的項目中學習下別人是如何設計開發一個組件的,從一些簡單的組件入手對新手來說是很不錯的選擇。

項目倉庫鏈接 https://gitee.com/zhan-weisong/zoom-image。

文章相關附件可以點擊下面的原文鏈接前往下載:

https://ost.51cto.com/resource/2355。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 51CTO開源基礎軟件社區
相關推薦

2022-10-25 15:12:24

自定義組件鴻蒙

2021-11-01 10:21:36

鴻蒙HarmonyOS應用

2022-07-06 20:24:08

ArkUI計時組件

2022-05-26 14:50:15

ArkUITS擴展

2021-02-20 12:34:53

鴻蒙HarmonyOS應用開發

2022-04-24 15:17:56

鴻蒙操作系統

2021-09-15 10:19:15

鴻蒙HarmonyOS應用

2022-02-21 15:16:30

HarmonyOS鴻蒙操作系統

2021-01-11 11:36:23

鴻蒙HarmonyOSApp開發

2021-06-17 14:56:00

鴻蒙HarmonyOS應用

2023-02-20 15:20:43

啟動頁組件鴻蒙

2009-06-24 15:13:36

自定義JSF組件

2022-02-16 16:09:12

鴻蒙游戲操作系統

2022-02-16 15:25:31

JS代碼Canvas鴻蒙

2021-11-22 10:00:33

鴻蒙HarmonyOS應用

2022-12-07 08:56:27

SpringMVC核心組件

2022-07-15 16:45:35

slider滑塊組件鴻蒙

2023-01-03 07:40:27

自定義滑塊組件

2022-06-30 14:02:07

鴻蒙開發消息彈窗組件

2009-06-25 14:53:35

自定義UI組件JSF框架
點贊
收藏

51CTO技術棧公眾號

国产精选在线观看91| 欧洲杯半决赛直播| 99国产精品久久久久久久成人热| 色综合亚洲欧洲| 亚洲综合在线做性| 国产三级黄色片| 国产一区二区三区视频免费观看| 欧洲亚洲视频| 夜夜揉揉日日人人青青一国产精品| 日本精品免费一区二区三区| 美女搡bbb又爽又猛又黄www| 成人看片免费| 成人免费看片39| 日韩欧美999| 久久99精品久久久久久秒播放器 | 久久久久久亚洲精品不卡| 免费看污污网站| 亚洲av成人精品日韩在线播放| 亚洲视频在线免费| 欧美日韩免费观看一区二区三区 | 青青久在线视频免费观看| 在线看片不卡| 一区二区三区动漫| 一本大道熟女人妻中文字幕在线| www.中文字幕| 欧美激情性爽国产精品17p| 欧美一区二区精品久久911| 一区二区三区av在线| 在线免费看91| 久久久久国产| 日韩一区二区麻豆国产| 久久av喷吹av高潮av| 一本大道伊人av久久综合| 亚洲一区二区三区高清不卡| 亚洲欧美中文另类| 成人亚洲视频在线观看| 中文字幕在线观看日本| 激情综合色播激情啊| 久久成人综合视频| 宅男噜噜噜66国产免费观看| 国产女主播在线写真| 蜜臀av一区二区| 日日狠狠久久偷偷四色综合免费 | freexxx性亚洲精品| 91在线视频18| 日韩美女视频中文字幕| 成人精品在线看| 国产一区不卡| 日韩一区二区三区四区| 手机在线国产视频| 国产www免费| 无码视频一区二区三区| 欧美日韩国产免费观看视频| 日韩电影大全免费观看2023年上| 亚洲五月天综合| 伊人久久综合一区二区| 国产精品视频免费| 国产欧美精品在线| 欧美成人三级视频| 亚洲天堂网站| 国产人妖乱国产精品人妖| 国产一区二区色| 久久精品视频6| 欧美肉体xxxx裸体137大胆| 国产亚洲精品久久久久久| 91大神免费观看| 亚洲私拍视频| 亚洲免费观看高清完整版在线观看熊| 国产一级精品aaaaa看| 中文字幕在线观看免费| 正在播放日韩欧美一页| 色在人av网站天堂精品| 黄色av免费播放| 日韩国产在线| 亚洲黄色片网站| 成人日韩在线视频| 电影一区二区三| 欧美无砖砖区免费| 久久亚洲中文字幕无码| 欧美成年黄网站色视频| 久久久综合激的五月天| 国产精品久久久久久av福利| 日本一区二区欧美| 亚洲成人精选| 97人洗澡人人免费公开视频碰碰碰| 中文字幕第24页| 亚洲国产日韩欧美在线| 97精品国产97久久久久久春色| 男人天堂2024| 国产精品www.| 欧美成人免费视频| 久久久精品福利| 一本一本久久| 国产日韩精品视频| 偷拍精品一区二区三区| 中文字幕在线免费不卡| 五月天婷亚洲天综合网鲁鲁鲁| 天堂网av2014| 成人免费视频网站在线观看| 91中文精品字幕在线视频| 色噜噜在线播放| 国产精品久久久久久久久果冻传媒| avav在线播放| 女同视频在线观看| 亚洲人成电影网站色mp4| 亚洲开发第一视频在线播放| 岛国视频免费在线观看| 成人国产视频在线观看| 国产91精品一区二区绿帽| 国产99对白在线播放| 久久99国产精品成人| 国产日韩欧美视频| 天堂av中文在线资源库| av色综合久久天堂av综合| 国产成人看片| 69视频在线| 欧美性猛交视频| 伊人影院在线观看视频| www.丝袜精品| 亚洲第一网站免费视频| 亚洲美女在线播放| 天天射成人网| 久久国产加勒比精品无码| 日韩在线 中文字幕| 成人性生交大片免费看中文网站| 中文字幕日韩精品一区二区| caoporm免费视频在线| 91国产视频在线观看| jizz大全欧美jizzcom| 亚洲欧洲二区| 一区二区中文字幕| 亚洲综合图片网| 99国产精品久| 97在线国产视频| 97久久超碰| 欧美成在线观看| 国产精品高潮呻吟久久久| 国产iv一区二区三区| 精品欧美日韩在线| 岛国最新视频免费在线观看| 色婷婷亚洲婷婷| 日韩精品卡通动漫网站| 成人午夜av| 国产精品欧美久久久| 国产成人精品一区二区无码呦| 国产精品毛片无遮挡高清| 嫩草av久久伊人妇女超级a| 激情五月综合| 国产精品久久激情| 中文字幕日本在线| 欧美日本精品一区二区三区| 小泽玛利亚一区| 欧美日韩精品| 高清国语自产拍免费一区二区三区| 色爱综合区网| 日韩欧美成人区| 日本激情小视频| 欧美.日韩.国产.一区.二区| 青草成人免费视频| av中文字幕第一页| 一区二区三区在线不卡| 北条麻妃视频在线| 日韩久久久久| 91人成网站www| 美女做暖暖视频免费在线观看全部网址91 | 国产精品白丝jk喷水视频一区| 狠狠色伊人亚洲综合网站l| 最新国产の精品合集bt伙计| 91成人在线观看喷潮教学| 欧美日韩看看2015永久免费 | 午夜精品久久久99热福利| 午夜在线视频免费| 在线观看一区二区视频| 妖精视频一区二区| 国产精品日韩欧美一区| 色爱区成人综合网| 免费一级欧美片在线观看网站| 亚洲老司机av| 午夜偷拍福利视频| 久久亚洲私人国产精品va媚药| 日本在线观看免费视频| 在线看片不卡| 欧美一区二区综合| 国产精品xx| 欧美成人激情免费网| 丰满的亚洲女人毛茸茸| 国产一区91精品张津瑜| 亚洲三区在线| 中文字幕日韩在线| 久久精品国产一区| 最近中文字幕在线免费观看| 久久久久久久网| 国产乱码一区二区三区四区| 亚洲福利久久| 国产精品日韩欧美一区二区三区| 一区二区三区短视频| 欧美老妇交乱视频| 国产永久免费高清在线观看视频| 欧美一区二区美女| 男操女视频网站| 久久久久久久久久久久久夜| 中文字幕亚洲影院| 久久久久国产精品午夜一区| 激情久久av| 3d动漫一区二区三区在线观看| 91成人在线视频| 外国精品视频在线观看| 欧美乱熟臀69xxxxxx| 激情高潮到大叫狂喷水| 久久69国产一区二区蜜臀| 国内自拍在线观看| 深爱激情综合网| 日本午夜人人精品| 日本动漫理论片在线观看网站| 欲色天天网综合久久| 亚洲欧美日韩综合在线| 欧美大片顶级少妇| 精品久久免费视频| 亚洲品质自拍视频网站| 国产精品理论在线| 久久网这里都是精品| fc2成人免费视频| 国产自产v一区二区三区c| 韩国日本美国免费毛片| 亚洲影院一区| 色涩成人影视在线播放| 日本午夜精品| 国产精品区一区| 风间由美一区二区av101| 97在线精品国自产拍中文| 成人免费视屏| 久热爱精品视频线路一| 欧美日韩视频在线播放| 中文字幕成人在线| 国产视频手机在线观看| 亚洲午夜三级在线| 日韩网站在线播放| 久久国产夜色精品鲁鲁99| 精品国产一区二区三区在线| 国产厕拍一区| 99在线看视频| 日韩伦理在线一区| 在线观看日韩视频| 懂色av中文在线| 中文字幕不卡av| 在线观看麻豆| 日韩在线免费观看视频| 成人毛片视频免费看| 欧美视频13p| 99久久精品国产亚洲| 欧美网站在线观看| 九九精品免费视频| 在线免费观看日本一区| 国产精品传媒在线观看| 欧美午夜精品久久久| 国产精品视频一二区| 日韩三级.com| 天堂av手机版| 亚洲人成77777在线观看网| 高清日韩av电影| 中文字幕在线看视频国产欧美| 麻豆传媒视频在线| 欧美高清性猛交| jyzzz在线观看视频| 色小说视频一区| 91高清在线观看视频| 亚洲欧美中文字幕| p色视频免费在线观看| 欧美成人合集magnet| www.超碰在线| 国产精品久久久久福利| 国产高清精品二区| 国产精品va在线| 亚洲一区二区三区久久久| 亚洲一区二区三区香蕉| 久久久免费毛片| 91精品国产91久久久久青草| 影音成人av| 97婷婷涩涩精品一区| 日韩欧美精品电影| 51ⅴ精品国产91久久久久久| 中文字幕中文字幕在线十八区 | 亚洲精品欧洲精品| 欧美日韩日本国产亚洲在线| 欧美韩国日本在线| 亚洲黄页一区| 欧美大黑帍在线播放| 免费在线亚洲| 欧美在线a视频| 麻豆精品一二三| 欧美图片自拍偷拍| 国产精品自拍毛片| 三区视频在线观看| av电影一区二区| www.4hu95.com四虎| 国产偷v国产偷v亚洲高清| 亚洲熟妇无码av| 亚洲免费观看高清完整版在线观看| 日韩免费视频一区二区视频在线观看| 欧美男同性恋视频网站| 亚洲欧洲综合在线| 久久香蕉国产线看观看av| 一区二区电影免费观看| 国产精品国模大尺度私拍| 成人情趣视频| 哪个网站能看毛片| 国产成a人亚洲精品| 日本黄色激情视频| 欧美日韩激情网| 国产成人无码av| 日韩午夜三级在线| 99视频在线观看地址| 欧美性在线观看| 电影中文字幕一区二区| 日韩久久不卡| 波多野结衣一区| 极品美女扒开粉嫩小泬| 国内国产精品久久| av网在线播放| 亚洲欧洲三级电影| 亚洲中文字幕无码爆乳av| 精品久久久久久久久久久久久久久 | 国产www免费| 国产精品伊人色| 久久久精品少妇| 欧美日韩在线免费视频| 国产老女人乱淫免费| 国产午夜一区二区| a欧美人片人妖| 久久久久久久久久码影片| 亚洲国产精品第一区二区三区| 中文字幕一二三区| 亚洲美女淫视频| 国产强伦人妻毛片| 麻豆成人在线看| 久久久精品区| 可以在线看黄的网站| 国模大尺度一区二区三区| 国产老头老太做爰视频| 亚洲国产精品视频| 91porny九色| 亚洲人成网站777色婷婷| 都市激情亚洲一区| 青娱乐国产91| 日韩福利电影在线| 国产成人av免费观看| 亚洲欧美综合在线精品| 国产精品高潮呻吟AV无码| 欧美刺激性大交免费视频| 亚洲国产欧美在线观看| 隔壁人妻偷人bd中字| www.日本不卡| 综合激情网五月| 一本一本久久a久久精品综合小说| 综合在线影院| 高清一区二区三区视频| 亚洲激情不卡| 国产艳俗歌舞表演hd| 欧美视频在线不卡| 免费日本一区二区三区视频| 亚洲自拍偷拍色图| 一区免费视频| 国产乱了高清露脸对白| 亚洲视频一区二区在线| av观看在线免费| 海角国产乱辈乱精品视频| 亚洲一区av| 999一区二区三区| 久久综合九色综合97婷婷 | 精品捆绑美女sm三区| 僵尸再翻生在线观看| 日韩精品极品视频在线观看免费| 精品一区二区在线免费观看| 久久久久久蜜桃| 欧美片网站yy| 色老头在线观看| 欧美午夜精品理论片a级大开眼界| 欧美日韩网址| 日本少妇色视频| 欧美美女喷水视频| 成av人片在线观看www| 图片区小说区区亚洲五月| 国产激情91久久精品导航| 免费看一级黄色| 亚洲黄色www| 欧美日韩女优| 美脚丝袜脚交一区二区| 亚洲国产成人在线| 久久精品国产亚洲av麻豆蜜芽| 久久精品99国产精品酒店日本| 激情亚洲另类图片区小说区| 在线观看国产一级片| 亚洲成人精品影院| 日本视频不卡| 国产有码在线一区二区视频| 在线播放不卡| 久久精品一区二区三区四区五区 | 亚洲午夜久久久久久久国产| 欧美日韩亚洲高清| 黄网站在线播放|