日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

鴻蒙6.1 arkui.componentSnapshot組件截圖坑:返回PixelMap不是dataURL

鴻蒙6.1 arkui.componentSnapshot組件截圖坑:返回PixelMap不是dataURL 本文是「鴻蒙 6.1 API 23 開(kāi)發(fā)坑系列」第 2 篇ArkUI 桶第 2 篇。本篇講ohos.arkui.componentSnapshotnamespaceAPI 10鴻蒙 6.1 API 23 基座——組件截圖三個(gè)方法get/getSync/createFromBuilder。鴻蒙坑根因①import坑——import { componentSnapshot } from編譯錯(cuò)has no exported member必須import componentSnapshot fromdefault import② 返回值坑——get(id)返回Promiseimage.PixelMap不是dataURL字符串React html2canvas 返回 dataURLimage.PixelMap是像素圖有g(shù)etImageInfo/getPixelBytes可讀像素③createFromBuilder(builder)的 builder 參數(shù)是CustomBuilderBuilder裝飾的函數(shù)不是 Component。一、開(kāi)篇鴻蒙 componentSnapshot 不是 html2canvas是「返回 PixelMap 像素圖」你寫(xiě) React 時(shí)組件截圖用html2canvas返回 canvas → toDataURL 轉(zhuǎn) dataURL 字符串// React html2canvas返回 canvas → toDataURL 轉(zhuǎn) dataURL 字符串 async function snapshotComponent() { // ? html2canvas 返回 HTMLCanvasElementtoDataURL() 轉(zhuǎn) dataURL 字符串 const canvas: HTMLCanvasElement await html2canvas(document.getElementById(target)) const dataURL: string canvas.toDataURL(image/jpeg, 0.9) // ? dataURL 字符串 // ? React html2canvas返回 canvas → dataURL 字符串不是 PixelMap 像素圖 }你寫(xiě)鴻蒙 ArkTS 時(shí)組件截圖用componentSnapshot.get(id)返回Promiseimage.PixelMap像素圖// ArkTS componentSnapshot返回 Promiseimage.PixelMap 像素圖不是 dataURL 字符串 import componentSnapshot from ohos.arkui.componentSnapshot // ? default import import image from ohos.multimedia.image async function snapshotComponent() { // ? get(id) 返回 Promiseimage.PixelMapimage.PixelMap 是像素圖不是 dataURL const pixelMap: image.PixelMap await componentSnapshot.get(snapshotTarget) const imageInfo: image.ImageInfo await pixelMap.getImageInfo() // ? PixelMap 有 getImageInfo/getPixelBytes 可讀像素不是 dataURL 字符串 const width: number imageInfo.size.width const height: number imageInfo.size.height }React html2canvas vs 鴻蒙 componentSnapshot 的區(qū)別React 把組件截圖當(dāng) canvas 轉(zhuǎn) dataURLhtml2canvas 返回 HTMLCanvasElement toDataURL() 轉(zhuǎn) dataURL 字符串base64 編碼字符串ArkTS 把組件截圖當(dāng) PixelMap 像素圖componentSnapshot.get 返回 Promiseimage.PixelMapimage.PixelMap 是像素圖有 getImageInfo/getPixelBytes 可讀像素不是 dataURL 字符串。根因不是 dataURL 字符串是 PixelMap 像素圖——鴻蒙返回 image.PixelMap 像素圖有 getImageInfo/getPixelBytes 可讀像素。二、根因鴻蒙 componentSnapshot 的三個(gè)綁定機(jī)制鴻蒙ohos.arkui.componentSnapshotnamespaceAPI 10有三個(gè)截圖方法每個(gè)返回image.PixelMap像素圖。綁定機(jī)制來(lái)自三重根因。機(jī)制 1import 坑——default import 不是 named import鴻蒙坑根因import { componentSnapshot } from編譯錯(cuò)——必須import componentSnapshot from// ? 鴻蒙坑import { componentSnapshot } from 編譯錯(cuò)has no exported member // ? 編譯錯(cuò)Module ohos.arkui.componentSnapshot has no exported member componentSnapshot // ? 錯(cuò)誤信息Did you mean to use import componentSnapshot from ohos.arkui.componentSnapshot instead? import { componentSnapshot } from ohos.arkui.componentSnapshot // ? named import 編譯錯(cuò) // ? 正確用法default importcomponentSnapshot 是 default export 不是 named export import componentSnapshot from ohos.arkui.componentSnapshot // ? default import // 鴻蒙坑根因componentSnapshot 是 default export必須 default import 不是 named importimport 坑根因ohos.arkui.componentSnapshot的componentSnapshot是declare namespacedefault namespace export不是 named export所以import { componentSnapshot }觸發(fā)has no exported member componentSnapshot編譯錯(cuò)。正確用法是import componentSnapshot fromdefault import。機(jī)制 2get 返回 Promiseimage.PixelMap 不是 dataURL 字符串鴻蒙坑根因get(id)返回Promiseimage.PixelMap像素圖不是 dataURL 字符串// ? get(id): Promiseimage.PixelMap 異步截圖返回 Promiseimage.PixelMap不是 dataURL import componentSnapshot from ohos.arkui.componentSnapshot import image from ohos.multimedia.image async function asyncSnapshot() { // ? get(id) 返回 Promiseimage.PixelMapimage.PixelMap 是像素圖不是 dataURL const pixelMap: image.PixelMap await componentSnapshot.get(snapshotTarget) // ? PixelMap 有 getImageInfo/getPixelBytes 可讀像素 const imageInfo: image.ImageInfo await pixelMap.getImageInfo() const width: number imageInfo.size.width const height: number imageInfo.size.height // 鴻蒙坑根因get 返回 Promiseimage.PixelMap 像素圖React html2canvas 返回 dataURL 字符串 } // ? getSync(id): image.PixelMap 同步截圖API 12直接返回不用 await function syncSnapshot() { // ? getSync 是 API 12 同步方法直接返回 image.PixelMap 不用 await const pixelMap: image.PixelMap componentSnapshot.getSync(snapshotTarget) // 鴻蒙坑getSync 是 API 12 同步方法不是 Promise 不用 await }get vs getSync 的區(qū)別get(id): Promiseimage.PixelMap異步截圖API 10返回 Promise 需要 awaitgetSync(id): image.PixelMap同步截圖API 12直接返回 image.PixelMap 不用 await不是 Promise。鴻蒙坑getSync 是 API 12 同步方法不是 Promise 不用 await直接返回 image.PixelMap。image.PixelMap vs dataURL 的區(qū)別image.PixelMap是鴻蒙像素圖接口有 getImageInfo/getPixelBytes 可讀像素release 釋放資源dataURL是 base64 編碼字符串React html2canvas 返回?zé)o getImageInfo/getPixelBytes。根因不是 dataURL 字符串是 PixelMap 像素圖——鴻蒙返回 image.PixelMap 像素圖有 getImageInfo/getPixelBytes 可讀像素。機(jī)制 3createFromBuilder(builder) 的 builder 參數(shù)是 CustomBuilder 不是 Component鴻蒙坑根因createFromBuilder(builder)的 builder 參數(shù)是CustomBuilderBuilder裝飾的函數(shù)不是 Component// ? createFromBuilder(builder) 從 CustomBuilder 截圖builder 參數(shù)是 Builder 函數(shù)不是 Component import componentSnapshot from ohos.arkui.componentSnapshot // ? Builder 裝飾的函數(shù)是 CustomBuilder 類(lèi)型createFromBuilder 的 builder 參數(shù) Builder function MySnapshotBuilder() { Column({ space: 4 }) { Text(CustomBuilder 截圖內(nèi)容).fontSize(14).fontColor(#28a745) } .padding(12).backgroundColor(#d4edda).borderRadius(8) } async function builderSnapshot() { // ? createFromBuilder(builder) 返回 Promiseimage.PixelMap // ? 鴻蒙坑builder 參數(shù)是 CustomBuilderBuilder 函數(shù)不是 Component const pixelMap: image.PixelMap await componentSnapshot.createFromBuilder(MySnapshotBuilder) // 鴻蒙坑根因builder 參數(shù)是 CustomBuilderBuilder 裝飾的函數(shù)不是 Component }createFromBuilder 的 builder 參數(shù)坑createFromBuilder(builder: CustomBuilder, ...)的 builder 參數(shù)是CustomBuilder類(lèi)型Builder裝飾的函數(shù)引用不是 Component 實(shí)例不是 build() 返回值。鴻蒙坑傳 Component 實(shí)例或 build() 返回值會(huì)類(lèi)型錯(cuò)——必須傳Builder裝飾的函數(shù)引用MySnapshotBuilder不是MySnapshotBuilder()。三、真機(jī)配圖鴻蒙 arkui.componentSnapshot 組件截圖坑——get/getSync/createFromBuilder真機(jī)配圖展示鴻蒙 arkui.componentSnapshot 組件截圖坑初始態(tài)鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑標(biāo)題截圖目標(biāo)組件紅框 idsnapshotTarget四角文字左上/右上/左下/右下場(chǎng)景1~4 卡片get/getSync/createFromBuilder/截圖存文件要點(diǎn)說(shuō)明get(id) 異步截圖態(tài)點(diǎn)擊「① get(id) 異步截圖」按鈕snapshotStatus 顯示「? componentSnapshot.get(id) 異步截圖成功PixelMap 1066x278」截圖次數(shù) 1——get 返回 Promiseimage.PixelMap 驗(yàn)證getSync(id) 同步截圖態(tài)點(diǎn)擊「② getSync(id) 同步截圖」按鈕syncSnapshotStatus 顯示「? componentSnapshot.getSync(id) 同步截圖成功返回 image.PixelMap不用 await」截圖次數(shù) 2——getSync 同步返回 image.PixelMap 驗(yàn)證createFromBuilder 態(tài)點(diǎn)擊「③ createFromBuilder 截圖」按鈕builderSnapshotStatus 顯示「? createFromBuilder(builder) 截圖成功PixelMap 393x78」截圖次數(shù) 3——createFromBuilder 從 CustomBuilder 截圖驗(yàn)證截圖存文件態(tài)點(diǎn)擊「⑦ 截圖存文件」按鈕savedFilePath 顯示「/data/storage/…/cache/snapshot_*.jpeg」截圖次數(shù) 4——PixelMap 存文件驗(yàn)證image.createImagePacker fs.writeSync四、真解法鴻蒙 componentSnapshot 的三個(gè)場(chǎng)景場(chǎng)景 1get(id) 異步截圖 getSync(id) 同步截圖——90% 場(chǎng)景首選get/getSync 截圖用componentSnapshot.get(id)componentSnapshot.getSync(id)// ? 場(chǎng)景 1get(id) 異步截圖 getSync(id) 同步截圖API 10/1290% 場(chǎng)景首選 import componentSnapshot from ohos.arkui.componentSnapshot // ? default import import image from ohos.multimedia.image // ? get(id): Promiseimage.PixelMap 異步截圖API 10返回 Promise 需要 await async function asyncSnapshot() { const pixelMap: image.PixelMap await componentSnapshot.get(snapshotTarget) const imageInfo: image.ImageInfo await pixelMap.getImageInfo() // PixelMap 像素圖getImageInfo 讀尺寸getPixelBytes 讀像素 } // ? getSync(id): image.PixelMap 同步截圖API 12直接返回不用 await function syncSnapshot() { const pixelMap: image.PixelMap componentSnapshot.getSync(snapshotTarget) // getSync 同步返回 image.PixelMap不是 Promise 不用 await } // get/getSync 截圖90% 場(chǎng)景首選返回 image.PixelMap 像素圖不是 dataURL鴻蒙 componentSnapshot API 真名坑import componentSnapshot from ohos.arkui.componentSnapshotdefault import 不是 named importget(id: string, callback?: AsyncCallbackimage.PixelMap, options?: SnapshotOptions): void異步截圖API 10callback 可選get(id: string, options?: SnapshotOptions): Promiseimage.PixelMapPromise 異步截圖API 10返回 Promiseimage.PixelMapgetSync(id: string, options?: SnapshotOptions): image.PixelMap同步截圖API 12直接返回 image.PixelMapimage.PixelMap像素圖接口getImageInfo/getPixelBytes/releaseSysCapSystemCapability.ArkUI.ArkUI.Fullcrossplatform跨平臺(tái)atomicservice原子化服務(wù)SnapshotOptionsAPI 15SnapshotRegion/left/right/top/bottom 矩形區(qū)域截圖。場(chǎng)景 2createFromBuilder(builder) 從 CustomBuilder 截圖createFromBuilder 截圖用componentSnapshot.createFromBuilder(MyBuilder)Builder裝飾函數(shù)// ? 場(chǎng)景 2createFromBuilder(builder) 從 CustomBuilder 截圖API 10 import componentSnapshot from ohos.arkui.componentSnapshot // ? Builder 裝飾的函數(shù)是 CustomBuilder 類(lèi)型createFromBuilder 的 builder 參數(shù) Builder function MySnapshotBuilder() { Column({ space: 4 }) { Text(CustomBuilder 截圖內(nèi)容).fontSize(14).fontColor(#28a745).fontWeight(FontWeight.Bold) Text(createFromBuilder 從 Builder 截圖).fontSize(10).fontColor(#888) } .padding(12).backgroundColor(#d4edda).borderRadius(8) } async function builderSnapshot() { // ? createFromBuilder(builder) 返回 Promiseimage.PixelMap // ? 鴻蒙坑builder 參數(shù)是 CustomBuilderBuilder 函數(shù)引用不是 Component 實(shí)例 const pixelMap: image.PixelMap await componentSnapshot.createFromBuilder(MySnapshotBuilder) // ? createFromBuilder 也有 callback 和 delay/checkImageStatus/options 參數(shù) // componentSnapshot.createFromBuilder(MyBuilder, 500, true, options) // delay500ms, checkImageStatustrue } // createFromBuilder 從 CustomBuilder 截圖builder 參數(shù)是 Builder 函數(shù)引用不是 Component鴻蒙 createFromBuilder API 真名坑createFromBuilder(builder: CustomBuilder, callback?: AsyncCallbackimage.PixelMap, delay?: number, checkImageStatus?: boolean, options?: SnapshotOptions): voidcallback 異步API 10createFromBuilder(builder: CustomBuilder, delay?: number, checkImageStatus?: boolean, options?: SnapshotOptions): Promiseimage.PixelMapPromise 異步API 10CustomBuilder是Builder裝飾的函數(shù)類(lèi)型傳函數(shù)引用MyBuilder不是調(diào)用MyBuilder()delay延遲截圖毫秒數(shù)等組件渲染完checkImageStatus檢查圖片狀態(tài)true 等圖片加載完再截圖鴻蒙坑builder 參數(shù)傳 Component 實(shí)例或 build() 返回值會(huì)類(lèi)型錯(cuò)——必須傳Builder裝飾的函數(shù)引用。場(chǎng)景 3PixelMap 存文件——image.createImagePacker fs.writeSyncPixelMap 存文件用image.createImagePacker().packing()打包 JPEG buffer fs.writeSync寫(xiě)文件// ? 場(chǎng)景 3PixelMap 存文件——image.createImagePacker fs.writeSyncAPI 10 import componentSnapshot from ohos.arkui.componentSnapshot import image from ohos.multimedia.image import fs from ohos.file.fs async function snapshotAndSave() { // ? get(id) 截圖返回 PixelMap const pixelMap: image.PixelMap await componentSnapshot.get(snapshotTarget) // ? image.createImagePacker() 打包 PixelMap 為 JPEG buffer const imagePacker: image.ImagePacker image.createImagePacker() const jpegBuffer: ArrayBuffer await imagePacker.packing(pixelMap, { format: image/jpeg, // ? format: image/jpeg 不是 jpeg quality: 90 // ? quality: 0-100 }) imagePacker.release() // ? release 釋放 ImagePacker // ? fs.openSync 打開(kāi)文件 fs.writeSync 寫(xiě) buffer fs.closeSync 關(guān)文件 const context getContext(this) // ? getContext 獲取 Contextdeprecated 警告但仍可用 const cacheDir: string context.cacheDir // ? cacheDir 緩存目錄 const filePath: string cacheDir /snapshot_ Date.now() .jpeg const fileFd: number fs.openSync(filePath, fs.OpenMode.CREATE | fs.OpenMode.WRITE_ONLY).fd // ? .fd 取文件描述符 fs.writeSync(fileFd, jpegBuffer) // ? writeSync(fd, buffer) 第一參傳 fd fs.closeSync(fileFd) // ? closeSync(fd) 關(guān)文件 } // PixelMap 存文件image.createImagePacker().packing JPEG buffer fs.writeSync(fd, buffer)鴻蒙 PixelMap 存文件 API 真名坑image.createImagePacker(): image.ImagePacker創(chuàng)建打包器API 10imagePacker.packing(pixelMap, options?: image.PackingOption): PromiseArrayBuffer打包 PixelMap 為 bufferAPI 10PackingOption{ format: image/jpeg, quality: 90 }format 是image/jpeg不是jpegquality 0-100imagePacker.release()釋放打包器fs.openSync(path, mode): fs.File同步打開(kāi)文件API 10.fd取文件描述符fs.writeSync(fd: number, buffer: ArrayBuffer)同步寫(xiě) bufferAPI 10第一參傳 fd 文件描述符不是 File 實(shí)例fs.closeSync(fd: number)同步關(guān)文件鴻蒙坑fs.writeSync第一參傳file.fd文件描述符不是 File 實(shí)例方法是 namespace 頂層函數(shù)getContext(this)已 deprecated 警告但仍可用推薦用this.getContext()或組件 Context。五、一句話哲學(xué)寫(xiě)鴻蒙 ArkUI 記住componentSnapshot 不是 html2canvas 是「返回 image.PixelMap 像素圖」——鴻蒙 6.1 API 23ohos.arkui.componentSnapshotnamespaceAPI 10鴻蒙 6.1 API 23 基座SysCap SystemCapability.ArkUI.ArkUI.Fullcrossplatform atomicservice。根因不是 dataURL 字符串是 PixelMap 像素圖——import componentSnapshot from? default import?import { componentSnapshot } from編譯錯(cuò)has no exported memberget(id): Promiseimage.PixelMap異步截圖API 10返回 Promiseimage.PixelMap 像素圖不是 dataURL 字符串image.PixelMap 有 getImageInfo/getPixelBytes/release 可讀像素getSync(id): image.PixelMap同步截圖API 12直接返回 image.PixelMap 不用 await 不是 PromisecreateFromBuilder(builder: CustomBuilder): Promiseimage.PixelMap從 CustomBuilder 截圖builder 參數(shù)是Builder裝飾的函數(shù)引用不是 Component 實(shí)例有 delay/checkImageStatus/options 參數(shù)image.createImagePacker().packing(pixelMap, { format: image/jpeg, quality: 90 })打包 PixelMap 為 JPEG bufferformat 是image/jpeg不是jpegfs.writeSync(fd, buffer)寫(xiě)文件第一參傳file.fd文件描述符是 namespace 頂層函數(shù)不是 File 實(shí)例方法。componentSnapshot 返回 image.PixelMap 像素圖不是 dataURL 字符串是鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑核心能力系列回鏈鴻蒙 7.0 新特性篇 1~17沉浸式毛玻璃/Component3D/智能體框架/方舟引擎/星盾安全/星河互聯(lián)/空間音頻/可變字體/游戲快啟/分布式數(shù)據(jù)盾/LTPO 可變幀率/AI 文檔識(shí)別/多形態(tài)服務(wù)窗口/AI 反詐/機(jī)密計(jì)算/空間計(jì)算/小藝全面進(jìn)化鴻蒙 6.1 API 23 開(kāi)發(fā)坑系列篇 1「ArkUI.modifier 裝飾器坑」——attributeModifier AttributeModifier 狀態(tài)化節(jié)點(diǎn)修改器鴻蒙 6.1 API 23 開(kāi)發(fā)坑系列篇 2「arkui.componentSnapshot 組件截圖坑」——get/getSync/createFromBuilder 返回 image.PixelMap本文真機(jī) demo 完整代碼// 鴻蒙 6.1 API 23 開(kāi)發(fā)坑系列篇 2arkui.componentSnapshot 組件截圖坑——get/getSync/createFromBuilder 返回 image.PixelMap 根因 import componentSnapshot from ohos.arkui.componentSnapshot import image from ohos.multimedia.image import fs from ohos.file.fs Builder function MySnapshotBuilder() { Column({ space: 4 }) { Text(CustomBuilder 截圖內(nèi)容).fontSize(14).fontColor(#28a745).fontWeight(FontWeight.Bold) Text(createFromBuilder 從 Builder 截圖).fontSize(10).fontColor(#888) } .padding(12) .backgroundColor(#d4edda) .borderRadius(8) } Entry Component struct Index { State log: string (未操作) State snapshotStatus: string (未截) State syncSnapshotStatus: string (未截) State builderSnapshotStatus: string (未截) State pixelMapWidth: number 0 State pixelMapHeight: number 0 State snapshotCount: number 0 State savedFilePath: string (未存) State lastError: string (無(wú)錯(cuò)) aboutToAppear() { this.log 鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑get/getSync/createFromBuilder 返回 image.PixelMap } async demonstrateAsyncSnapshot() { try { const pixelMap: image.PixelMap await componentSnapshot.get(snapshotTarget) const imageInfo: image.ImageInfo await pixelMap.getImageInfo() this.pixelMapWidth imageInfo.size.width this.pixelMapHeight imageInfo.size.height this.snapshotStatus ? componentSnapshot.get(id) 異步截圖成功PixelMap this.pixelMapWidth x this.pixelMapHeight this.log ? get(id) 返回 Promiseimage.PixelMap不是 dataURLPixelMap 像素圖 this.pixelMapWidth x this.pixelMapHeight this.snapshotCount this.lastError (無(wú)錯(cuò)) } catch (e) { this.lastError ? get 異步截圖錯(cuò) e.message } } demonstrateSyncSnapshot() { try { const pixelMap: image.PixelMap componentSnapshot.getSync(snapshotTarget) this.syncSnapshotStatus ? componentSnapshot.getSync(id) 同步截圖成功返回 image.PixelMap不用 await this.snapshotCount this.lastError (無(wú)錯(cuò)) } catch (e) { this.lastError ? getSync 同步截圖錯(cuò) e.message } } async demonstrateBuilderSnapshot() { try { const pixelMap: image.PixelMap await componentSnapshot.createFromBuilder(MySnapshotBuilder) const imageInfo: image.ImageInfo await pixelMap.getImageInfo() this.builderSnapshotStatus ? createFromBuilder(builder) 截圖成功PixelMap imageInfo.size.width x imageInfo.size.height this.snapshotCount this.lastError (無(wú)錯(cuò)) } catch (e) { this.lastError ? createFromBuilder 截圖錯(cuò) e.message } } async savePixelMapToFile(pixelMap: image.PixelMap): Promisestring { try { const imagePacker: image.ImagePacker image.createImagePacker() const jpegBuffer: ArrayBuffer await imagePacker.packing(pixelMap, { format: image/jpeg, quality: 90 }) imagePacker.release() const context getContext(this) const cacheDir: string context.cacheDir const filePath: string cacheDir /snapshot_ Date.now() .jpeg const fileFd: number fs.openSync(filePath, fs.OpenMode.CREATE | fs.OpenMode.WRITE_ONLY).fd fs.writeSync(fileFd, jpegBuffer) fs.closeSync(fileFd) return filePath } catch (e) { this.lastError ? savePixelMapToFile 錯(cuò) e.message return (存文件失敗) } } async demonstrateSnapshotAndSave() { try { const pixelMap: image.PixelMap await componentSnapshot.get(snapshotTarget) const filePath: string await this.savePixelMapToFile(pixelMap) this.savedFilePath filePath this.log ? get(id) 截圖 image.createImagePacker() 打包 JPEG fs.writeSync 存文件 filePath this.snapshotCount this.lastError (無(wú)錯(cuò)) } catch (e) { this.lastError ? 截圖存文件錯(cuò) e.message } } build() { Column({ space: 8 }) { Text(鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑) .fontSize(18).fontWeight(FontWeight.Bold).margin({ top: 16, bottom: 4 }) Text(get/getSync/createFromBuilder 返回 image.PixelMap 根因) .fontSize(11).fontColor(#888).margin({ bottom: 8 }) Column({ space: 4 }) { Text(截圖目標(biāo)組件idsnapshotTarget).fontSize(12).fontColor(#dc3545).fontWeight(FontWeight.Bold) Text(componentSnapshot.get(snapshotTarget) 截這個(gè) Column).fontSize(9).fontColor(#888) Row({ space: 8 }) { Text(左上).fontSize(10).fontColor(#2563eb) Text(右上).fontSize(10).fontColor(#ff6600) } Row({ space: 8 }) { Text(左下).fontSize(10).fontColor(#28a745) Text(右下).fontSize(10).fontColor(#ffc107) } } .id(snapshotTarget) .width(80%) .padding(12) .backgroundColor(#f8d7da) .borderRadius(8) .border({ width: 2, color: #dc3545 }) Column({ space: 6 }) { Text(場(chǎng)景 1componentSnapshot.get(id) 異步截圖API 10返回 Promiseimage.PixelMap) .fontSize(12).fontColor(#2563eb).fontWeight(FontWeight.Bold) Text(get 是 async 返回 Promiseimage.PixelMap不是 sync 返回 dataURL 字符串) .fontSize(9).fontColor(#888) Button(① get(id) 異步截圖).height(30).fontSize(9).backgroundColor(#2563eb20) .onClick(() this.demonstrateAsyncSnapshot()) Text(this.snapshotStatus).fontSize(9).fontColor(#2563eb).margin({ top: 4 }) Text(PixelMap 尺寸${this.pixelMapWidth}x${this.pixelMapHeight}).fontSize(8).fontColor(#2563eb).margin({ top: 2 }) } .width(92%).padding(8).backgroundColor(#e0f0ff).borderRadius(8) Column({ space: 6 }) { Text(場(chǎng)景 2componentSnapshot.getSync(id) 同步截圖API 12返回 image.PixelMap) .fontSize(12).fontColor(#ff6600).fontWeight(FontWeight.Bold) Text(getSync 是 API 12 同步方法直接返回 image.PixelMap 不用 await) .fontSize(9).fontColor(#888) Button(② getSync(id) 同步截圖).height(30).fontSize(9).backgroundColor(#ff660020) .onClick(() this.demonstrateSyncSnapshot()) Text(this.syncSnapshotStatus).fontSize(9).fontColor(#ff6600).margin({ top: 4 }) } .width(92%).padding(8).backgroundColor(#fff3e0).borderRadius(8) Column({ space: 6 }) { Text(場(chǎng)景 3createFromBuilder(builder) 從 CustomBuilder 截圖API 10) .fontSize(12).fontColor(#28a745).fontWeight(FontWeight.Bold) Text(builder 參數(shù)是 CustomBuilder 類(lèi)型Builder 裝飾的函數(shù)不是 Component) .fontSize(9).fontColor(#888) Button(③ createFromBuilder 截圖).height(30).fontSize(9).backgroundColor(#28a74520) .onClick(() this.demonstrateBuilderSnapshot()) Text(this.builderSnapshotStatus).fontSize(9).fontColor(#28a745).margin({ top: 4 }) } .width(92%).padding(8).backgroundColor(#d4edda).borderRadius(8) Column({ space: 6 }) { Text(場(chǎng)景 4截圖 存文件image.createImagePacker fs.writeSync) .fontSize(12).fontColor(#dc3545).fontWeight(FontWeight.Bold) Text(PixelMap → image.createImagePacker().packing JPEG buffer → fs.writeSync 存文件) .fontSize(9).fontColor(#888) Button(⑦ 截圖存文件).height(30).fontSize(9).backgroundColor(#dc354520) .onClick(() this.demonstrateSnapshotAndSave()) Text(存文件路徑${this.savedFilePath}).fontSize(8).fontColor(#dc3545).margin({ top: 4 }) } .width(92%).padding(8).backgroundColor(#f8d7da).borderRadius(8) Column({ space: 3 }) { Text(鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑要點(diǎn)) .fontSize(10).fontColor(#6c757d).fontWeight(FontWeight.Bold) Text(① ohos.arkui.componentSnapshot namespace API 10鴻蒙 6.1 API 23 基座) .fontSize(8).fontColor(#2563eb) Text(② get(id): Promiseimage.PixelMap 異步截圖返回 Promiseimage.PixelMap 不是 dataURL) .fontSize(8).fontColor(#ff6600) Text(③ getSync(id): image.PixelMap 同步截圖API 12直接返回不用 await) .fontSize(8).fontColor(#28a745) Text(④ createFromBuilder(builder): Promiseimage.PixelMap 從 CustomBuilder 截圖) .fontSize(8).fontColor(#dc3545) Text(⑤ 鴻蒙坑get 返回 Promiseimage.PixelMapReact html2canvas 返回 dataURL 字符串) .fontSize(8).fontColor(#dc3545) Text(⑥ image.PixelMap 是像素圖不是 dataURL——有 getImageInfo/getPixelBytes 可讀像素) .fontSize(8).fontColor(#2563eb) Text(⑦ PixelMap 存文件image.createImagePacker().packing(buffer) fs.writeSync(fd, buffer)) .fontSize(8).fontColor(#ff6600) Text(⑧ createFromBuilder 的 builder 參數(shù)是 CustomBuilderBuilder 函數(shù)不是 Component) .fontSize(8).fontColor(#28a745) Text(⑨ SnapshotOptionsAPI 15SnapshotRegion/left/right/top/bottom 矩形區(qū)域截圖) .fontSize(8).fontColor(#6c757d) Text(⑩ React 對(duì)比componentSnapshot 不是 html2canvas——鴻蒙返回 PixelMap 像素圖不是 dataURL) .fontSize(8).fontColor(#17a2b8) } .width(92%).padding(6).backgroundColor(#f8f9fa).borderRadius(8) Row({ space: 12 }) { Text(截圖次數(shù): ${this.snapshotCount}).fontSize(9).fontColor(#28a745) Text(PixelMap: ${this.pixelMapWidth}x${this.pixelMapHeight}).fontSize(9).fontColor(#2563eb) } .margin({ top: 6 }) Text(日志${this.log}).fontSize(9).fontColor(#333).margin({ top: 6 }) Text(錯(cuò)誤${this.lastError}).fontSize(8).fontColor(#dc3545).margin({ top: 2 }) Text(鴻蒙 6.1API 10arkui.componentSnapshotget/getSync/createFromBuilder 返回 image.PixelMap 像素圖) .fontSize(8).fontColor(#6c757d).margin({ top: 6 }) } .width(100%).height(100%).alignItems(HorizontalAlign.Center) } }寫(xiě)鴻蒙 ArkUI 記住componentSnapshot 不是 html2canvas 是「返回 image.PixelMap 像素圖」——鴻蒙 6.1 API 23ohos.arkui.componentSnapshotnamespaceAPI 10鴻蒙 6.1 API 23 基座SysCap SystemCapability.ArkUI.ArkUI.Fullcrossplatform atomicservice。根因不是 dataURL 字符串是 PixelMap 像素圖——import componentSnapshot from? default import?import { componentSnapshot } from編譯錯(cuò)has no exported memberget(id): Promiseimage.PixelMap異步截圖API 10返回 Promiseimage.PixelMap 像素圖不是 dataURL 字符串image.PixelMap 有 getImageInfo/getPixelBytes/release 可讀像素getSync(id): image.PixelMap同步截圖API 12直接返回 image.PixelMap 不用 await 不是 PromisecreateFromBuilder(builder: CustomBuilder): Promiseimage.PixelMap從 CustomBuilder 截圖builder 參數(shù)是Builder裝飾的函數(shù)引用不是 Component 實(shí)例有 delay/checkImageStatus/options 參數(shù)image.createImagePacker().packing(pixelMap, { format: image/jpeg, quality: 90 })打包 PixelMap 為 JPEG bufferformat 是image/jpeg不是jpegfs.writeSync(fd, buffer)寫(xiě)文件第一參傳file.fd文件描述符是 namespace 頂層函數(shù)不是 File 實(shí)例方法。componentSnapshot 返回 image.PixelMap 像素圖不是 dataURL 字符串是鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑核心
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九九九免费高| 久操精品| 亚洲国产丝袜熟女av| 人妻久久一区二区三区| 国产成人一级av88| 国产这里只有精品| 青青草啪啪网| 国产日韩美女小穴视频网站不卡| 高清无码一区二区三区| 91久久久久免| 久草毛片| 国产成人超碰在线| 精品超碰国产| 亚洲国产一级中文综合久久天堂在线免费观看 | 久草毛片| 精品无码一区二区三区| 99热久| 夜夜爽妓女| 欧美性Fer办公室秘书| 性色aV一区二区三区噜噜| 国产日韩精品无码去免费专区国产| 极品色www影院| 99在线观看无大码| 日韩有码中文字幕女同性恋| 国产成人精品日本视频| 久超超碰| 丝袜美腿亚洲| 超碰av人人人| 国产性刺激| 99久在线精品99re8| 91大神精品长腿在线观看网站| 日韩精品永久在线观看| 爱干爱射网啊啊啊| 中国和日本人色哪个不下载能放| 国产av又色又爽又黄| 天天日天天插| 97超碰色中文字幕| 超碰97人人cao| 久操热线| 91精品免费| www.av家庭乱伦| 日韩免费看黄片| 亚洲男人的天堂AV| 国产精品爆乳懂色蜜乳| 久操精品网| 91网站18在线| 精品无码欧美三级| 国产女人高潮视频| 亚洲玖玖爱| 韩国午夜理伦三级好看| 欧美一二在线| 大香蕉乱级| 亚洲少妇色| 久久久久成人网| 国产传媒操逼视频| 极品后入免费视频| 成人亚欧免费视频| 狠综合网| AV网站高清无码在线观看| 中文字幕在在线观看网站| 91老司机精品| 大香蕉520| 国产成人精品午夜福利| 人妻人人做人人澡人人爽欧美一区| 91国产精品熟女| 熟妇色99| 超踫中文字幕| 思思热一热婷婷热一热| 日本 欧美 国产一区| 大香网伊人久久综合网eew| 搡老女人老91二区| 一区二区三区精品黑丝白丝酒店对鸡| 欧美综合色图片| 亚洲一卡2卡3卡4卡乱码网站| 国产青视频| 操婢日韩| 亚洲欧美精品久| 操逼逼一区视频| 东京成人一区| 曰韩操B| 欧美白嫩在线放| 无码精品久久| 综合欧美日韩在线| 97国产高清视频在线观看| 福利在线视频一区二区| 亚洲αv一区二区三区| 亚洲综合性网址| 久久黄色视频一区二区三区| 日本三级韩国三级美三级91| 中文字幕123| 午夜无码熟妇丰满人妻| 女人午夜视频777| 啊啊啊啊,啊啊好多水| 青青草天天亲夜夜操网| 人妻熟女一区二区三区视频| 五月丁香激情综合网| 青青草在线视频美女| 亚洲AV无码乱码在线观看性色| 四虎影视国产精品| 青青操青娱乐| 人人爱人人乐人人操| 欧美狠狠弄| a男人的天堂| 国产成人主播| 色丁香五月婷婷| 天天干18禁| 日本天堂网| 天天激情干| 人妻天天爽| 日本熟妇人妻中出视频| 78超碰| 日日天天久久啊啊aaa| 一个人免费视频观看在线WWW| 97天天弄| 在线观看综合精品亚洲| 亚洲国产另类在线中文| 伊人久久亚洲色欲综合网站 | 97在线青| 99久久网站| 97欧美超碰| 黑人与人妻| 操逼操网| 淫荡网址| 久久久9 9 9精品| 99无码精品| 中国一级αV| 北条麻妃性愛视频| 丁香久久| 国产综合在线视频网站| 蜜臀中文无码午夜| 人人污日韩一区二区| 国产AV久久野战精品| 中文字幕人妻丝袜乱一区三区| 99re黄| 秋霞网无码| 国产精品久久久久久久久久久久久久久| 人人操人人摸人| 麻豆视频一区二区| 人妻人人澡人人爽人人| 亚洲 日本 一 二 三| 成人免费看吃奶视频网站| 天天日熟妇| 熟妇人妻一区二区| 色色五月丁香| 一本一道波多野毛片中文在线| 91爱啪| 国产熟女二区| 精产国品一区二三产品| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | AV天天在线观看| 国产东北女人在线视频| 国色综合天| 91天天爱| 亚洲色9| 人妻激情偷乱视频一区二区三区 | 91碰碰| 中文字幕乱碼在线| 久久9视频| 先锋色眉乱伦资源| 国产狂喷潮在线精品| 欧美激情 亚洲色图| 久久久18禁| 人妻天天夜夜爽一区二区| 欧美人与性动交a美精品| 亚洲婷婷综合网| 久久线上视频免费看| 亚洲男人天堂2016| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 青青草乱入乱欲视频在线观看| 女优免费一区二区永久| 午夜高清成人在线视频| 天天视频黄网站| 国产日韩手机视频在线| 另类亚洲一区二区三区| 夜夜嗨视频| 在线视频资源| 亚洲欧美内射| 天天躁狠狠躁av| 麻豆AV96熟妇人妻| 亚洲色图 欧美热图 清纯唯美 另类自拍| www.人人cao| www.伪伪| 日韩人妻有码免费视频| 五月天婷婷在线看| 午夜性生活av免费在线看| 国产97在线播放| 久草久日| 97天天插| 亚洲深夜福利| 99999re| 撸无码不卡免费视频| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 噜噜噜在线视频| 91伊人久| 日韩人妻有码免费视频| 日韩欧美亚欧在线视频| 国产高清自拍视频| 中文字幕三四区| 美女91在线| 偷拍导航视频网站| 熟女熟妇一区二区三四区| 色天堂在线观看| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 国产免费小视频| 亚洲欧美综合图片| 欧美亚洲| 夜夜操美女| 国产亚洲精品A在线观看下载| 日韩一级欧美一级国产一级台湾| 久久AV无码AV| 男插女青青影院| 永久电影三级在线观看| 国产二区三区免费视频| 国产黄色在线播放观看| 国内偷自视频区视频综合| 成人七区| 日韩欧美字幕亚洲一区二区| 国产欧美一区激情交| 再深点灬舒服灬太大了好硬好爽| 26uuu国产| 1024香蕉视频| 蜜桃视频一区二区三区| 色五月AV在线| 精品天堂| 欧美性爱精品七区| 日逼国产| www.99热| 成人久久无码www| 亚洲涩涩| 97操97干| 可以免费看黄片的视频| caoni国产亚洲av| 亚洲午夜av| 男人的天堂不卡一区二区 | 青青草华人在线欧美在线| 18精品一二区| 日本影视久久免费| 日本免费人成视频播放120秒| 日韩欧美一级特黄大片| 99ri在线视频| 最新精品久久蜜桃| 亚洲视频精选| 色综合久久av| 五月丁香激情综合网| 久久久久9久久久久| 福利天堂| 60秒不遮不挡| 麻豆国产视频精品观看| 亚洲一区日韩| 中文字幕精品人妻丝袜| 三及片网站| 欧美一级黄色免费专区| 人人操人人摸超碰| 亚洲欧洲成人在线电影| 久久久精品网站| 成人网欧美风情| 久久精品店| 超碰97综合| 熟女一区二区三区| 玖玖综合.com| 91社区拍啪人妻| 78精品在线| 日日黄色三级网站| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 蜜臀一区二区三区在线| 91精品少妇搡搡搡| 91国产大片| 久久九九国产精品| 天天爽夜夜爽夜夜爽精| 熟妇乱伦一区二区| 天堂成人网| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 亚洲 欧美 第一页 | 青青11操操操操操操操操| 多毛小伙内射老太婆| 97超碰超碰| 一区二区无码视频| 91欧美美女日韩国产婷婷| 精品国产乱码久久久久A| 91成人精品在线播放| 无码久久国产| 精品视频一区二区| 干B网| 超碰一区二区| 大香蕉综合久久| 人人色97| 99热免费| 亚洲老熟妇xxx| 色情综合| 久久精视频美日韩在线视频| 亚洲无码视频免费在线观看网址!| 99热这里只有精品9| 天天色综亚洲91污| 日本操BAV| 亚洲囯产精品女人久久久| 综合伊人网12色| 久9九综合在线| 一本久道久久综合狠狠爱一密臀精| 免费亚洲国产精品久久一区| 99精品久久久久久| 啊啊啊啊啊啊啊在线| 国产情色在线| 看看日B真人视频| 91男人天堂网| 天天碰久久入| 美女91网站| 狠狠91| 色99999| 小说区 图片区色 综合区| 亚洲国产美女久久久久| 欧美性爽xyxOOOO| 三级精品三级在线观看| 性videos欧美熟妇hdx| 日韩免费在线观看不卡| 亚洲成人性爱网站在线播放| 高跟丝袜AV专区国产| 嗯啊抽插大香蕉网页| 国产AV激情无码久久无码 | 欧美激情一区| 国产日韩色综合| 26uuu国产日韩综合在线观看| 手机在线视频国内精品| 激情五月综合| 亚州乱码中文字幕综合久久久| 欧美白嫩在线放| 天天插天天操天天摸天天射天天看| 中文字幕一区二区三区蜜桃视频| 嗯嗯啊啊啊好爽| 久久精品人妻一区| 国产精品美女在线一区| 婷婷五月天小说| 嗯~啊~快点 死我视频| 熟女色图在线| 欧美精品亚洲精品日韩传电影| 欧美男人的天堂| 9Ⅰ老熟女| …中文字幕亚洲乱,97人妻无码费视… | 激情干在线| 啊啊啊啊嗯嗯嗯用力好爽| 91啪9色| 亚洲揄拍网| 一本久久久精品| 最新亚洲黄色免费电影| 中文字幕在线免费观看视频| 天堂日本亚洲欧美| 一区二区不卡免费| 激情综合网激情综合| 人人操肉肉| 五月婷婷AV| 精品小视频在线| 亚洲天堂另类| 亚洲天堂一区二区久久| 久久婷婷一区二| 综合九九| 9国产超碰| 日本3级一区二区免费| 蜜桃久久久久久久| 九月伊人中文字幕| 欧美日韩中文亚洲v在线综合| 国产天天骚| 女人18精品一区二区三区| 日本黄大片在线观看视频| 日韩av影片在线观看| 91电影色诱| 麻豆 美女 丝袜 人妻 中文| www黄片免费看com| 欧美性爱一区| 亚洲一区中文精品| 久久婷婷五月天| 精品成人女人久久| 涩综合导航| 人妻啊啊人妻啊| 日本国产二线女色| 手机在线中文字幕国产| 97综合在线观看| 久热伊人| www.婷婷| 亚洲一级性爱视频免费看| 欧美,亚洲,日韩,v,天堂,手机在线观看| 亚洲影院成人| 人妻精品综合中文字幕在线| 欧美熟妇精品黑人巨大91| 婷婷视频在线免费观看| 精品久久艹| 素人一区二区三区日韩| 日日日啊啊啊| 日韩欧美福利视频看看| 久久嫩草国产成人一区| 亚洲学生妹高清av| http://qxhbdz.com| 99热这里都是精品| 91网站18在线观看| 亚洲av性爱电影| 欧美天天插| 天美传媒婬乱在| AV中文在线| 99久在线精品99re8蜜桃| 国产一区二区三区精品观看啪| 久久精品国产精品| 亚洲无码?第一页| 大香蕉欧美国产日韩高潮| 亚洲?V无码专区在线电影| 久久精品视频在线观看| 免费av高清无码| 蜜伊人色综合97| 九九精品无码专区免费| 东京热熟女亚洲视频网站| 亚洲无码太久| 试看60秒| 色色色色网站| 免费操逼91| 麻豆久久久久久久久丝袜 | 91少妇通奸网站| 欧美亚洲中文字幕| 一二三区精品视频| 天天色悠悠激情| 高清无码久操视频| 91欧美综合在线| 丰满人妻大屁一区二区| 男同专区一区二区三区在线| 在线天堂999| 草莓精品视频在线免费观看| 色偷偷2020免费视频播放| 99热久| 国产v亚洲v日韩v欧美v片另类| 精品人妻一区二区三区-国产精品| 欧美日韩插逼视频| 日本天堂在线播放| 九九天堂| 中文自拍欧美影视| 东北女人无套内谢视频| 操曰本熟女| 99视频内射三四| 亚洲āv网址在线观看| 91操人| 欧美精品四区| 国产精品一区二区 尿失禁| 一本色道综合久久欧美日韩精品| 欧美国产有色电影| 欧美精品四区| 亚洲欧洲国产综合av| 亚洲一区二区在线观看91| 亚洲一区亚洲天堂| 九色97| 黄片免费看黄片免费看| 日韩成人性日韩成人性爱视频在线免费观看 | 亚洲一区二区三区中文字幕| 九九九九九九九九九国产精品 | 99热| 亚洲一欧洲中文字幕在线| 精品国产乱码久久久| 亚洲欧美国产中文字幕| 四虎影库国产精品免费| 图片区小说区| 精品日韩中文在线| 日本不卡二区| 狠狠97| 97 九色| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 日韩操啪| 资源新线在线天堂| 色香网| 色综和网| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 欧美亚洲清纯| 熟女网站最新| 韩国女主播青草在线| 免费观看的av| 中文字幕一区日韩精| 性久久| 黄色电影在线播放综合网站| 国产黄色视频久久| 午夜性刺激视频免费观看| 大香蕉懂9| 午夜精品久久久久久久| 国产精品久久久999| 97在线欧洲| 91色噜噜狠狠| 日韩ab网 | 黄色AV影视| 激情综合色| 九九色热| 99色色网| 狠狠中文字幕| 东北女人av| 性感女人网页在线观看视频| 大香蕉伊人亚洲| 久久久草成人网站久久久草成人久久久草久久久| 久久精品店| 在线性黄高清免费视频| 国产伦精品一区二区三区在线观| 欧美疯狂做爰xxxx| 超碰免费人人| 男人兔费天堂| 亚洲官网在线| 美日韩在线不卡人妻| 裸模AV女优| 青青草大香蕉在线视频| 久久精品国产精品| 亚洲精品电影| 亚洲天堂精品日韩电影| 日韩免费av片高清无码| 99热99在线播放激情| 日韩丰满熟妇| 丰满人妻-区二区三区免费| 久久本道| 婷婷丁香一区二区三区| 九九九精品色乱九九九| 亚洲成人在线资源| 性猛交| 国产黄色小视频网站| 不卡一区二区日本视频| 国产精品秘 福利姬在线观看| 五月天激情小说| 亚洲。日韩。欧美| 热的中文 热的有码 热的国产| 超碰欧美97资源| 啊啊嗯嗯好爽| 欧美性爱无码一区二区三区| 国产欧美岛国精品一区| 亚洲成?V人片在线观看福利| 久久欧美按摩999| 日本999精品视频| 天堂资源站| 中文字幕福利视频一区二区三区在线观看| 韩国嫰模上门援交视频| 97se亚洲综合自| 日韩免费在线观看不卡| 亚洲1区2区三区高清中文字幕| 在线强奷到舒服的无码视频| 精品91摸| 96久久久精品| av三级电影在线播放| 免费观看网黄| 国产精品熟女丝袜一区二区| 麻豆AV一区二区| 欧美97日韩精品| 97欧美资源| 成人精品久久久午夜福利| 欧美十八禁导航成人| 大香蕉丝袜一级片| 操死我了嗯嗯嗯| 欧美综合网站999| 在线人成亚洲视频免费观看| 日韩人妻一区二区精品| 天天弄欧美| 欧美自拍网| 日韩熟女操逼| 91碰碰| 久久久久元码视频| 干超碰碰熟女| 无码高清少妇久久| 超碰资源亚洲97| 九九av| 亚洲av国产av综合av卡| 五月天久久久| 国产亚洲精品美女| 国语对白露脸XXXXXX| 国产精品久久久鸭无码的功能| 丁香激情网| 91总综合网| 青青草国产欧美非洲黑人| 九九探花视频在线观看| 欧美熟女激情| 亚洲无 码A片在线观看麻豆| 95人妻爽爽人人做人人澡| 久久久久久久六六| 2017人人操,人人摸| 丁香六月天| 台湾佬中文娱乐网久久久久久久久久com| 久久亚洲国产成人| 色欧美天天| 少妇熟女视频一区二区三区| 少妇干B| 无码视频一区二区| av在线播放国产一区| 97精品国产97久久久久久免费| 亚洲性综合11| 色一色综合网| 久久综合久色欧美综合狠狠 | 超碰人妻中文在线| 激情婷婷综合久久| 96精品在线| 天天综合网91| 亚洲精品一区中文字幕乱码| 亚洲天堂资源网| 婷婷激情四射| 怡红院久久老司机| 农村妇女一级二级三级视频| 97操B| 天天综合精品| 一区二区高清视频| 亚殴在线| 操逼无码操逼| 你草精品在线视频| 天天综合网日韩7799| 久久爱超碰网| 操逼啊啊啊91| 懂色AV网| 五月丁香啪啪| 亚洲本色精品一区二区久久| 宗合情欲网| 成人小说另类在线| 亚州色国| av天堂5| 三四中文字幕| 亚洲 图片 综合91| 激情熟女12P| 欧美激色| 91精品久久久久久77777| 亚洲天堂2020| 美国美女AV在线| 欧美大香蕉久| 骚熟女AV网| 久久女人一区二区三区| J?P?NESEHD熟女熟妇伦| 国产少妇高潮| 伊人激情五月天一区二区| 大香蕉性欧美| 亚洲 欧美 中文 日韩超碰| 无码久久亚洲高清,| 欧美午夜色妇色鬼| 欧色网址| 亚洲 欧美 另类 日韩 人妻一区| 午夜理论片在线观看免费| 欧美亚洲首页| 啊啊啊啊二区好大| 激情接吻视频久久久久久| 国产精品网址| 亚洲成人精品久久久| 大香蕉综合| 国产美女在线精品免费看| 欧美综合97www| 亚洲无码久久久久久久| 欧美宗合网| 9999九九九久久久| 加勒比大香蕉视频在线| 色婷婷视频| 97天天操| 国产精品3| 日韩av熟女一区二区三区成人| 色狠狠 - 百度| 久 久无码人妻AV| 99只有精品| 精品一区二区三区蜜桃臀赵总 | 国产精品一二三| 人人妻人人操人人乐| 欧美性爱伊人| 亚欧免费| 久久久九九| 国产二区三区粉嫩在线| 天天流夜夜操| 久操不卡视频| 波多野结衣被操50分钟免费视频 | 丰满精品人妻少妇久久字幕| 伊人综合色网| 91丨九色丨43老版熟女| 99婷婷一区二区| 青青青艹在线视频| 高凊专区人人操| 免费中文在线| 免费一级性爱久久| 日日夜夜精品视频| 91丝袜| 五月天AV资源| 超碰无码五月97| 欧美一二三区四五区| 国产女上位好爽在线| 日韩激情啪啪| 国产精品一区二区校花| 免费观看性欧美一级| 草草草草视频| 青青草久草| 亚洲天天自拍| 久久中文字幕人妻熟av女蜜柚| 亚州中文字幕超碰97| 国产视频一区二区在线| www四虎| 日本综合色图| 色情综合网| 99爱爱| 爱av免费| 欧美人妻精品一区二区| 国产一区二区免费福利片| 亚洲成人精品在线一区| 久久精品一区二区一8| 成人线上超碰| 亚洲无 码A片在线观看麻豆| A级片一区| 久久久96| 立川理惠被中出无码| 翔田千里无码一区| 丰满人妻被猛烈进入中| 欧美一区二区三区互相| 淫荡少妇免费| av无码av无码专区| 国产精品久久久久久久久AV大片| 99精品久久久久久久婷婷| 欧美久久伊人| 色婷婷综合视频| 素人播放一区| 97亚洲国产影视| 肉丝网站91| 久久綜合很很很| 96国产污污污丝袜| 91操人| 色欧洲97| 男女啊啊啊| 蜜桃久久一区二区| 免费观看性欧美一级| 欧美18老人禁| 欧美日韩国产黄色片| 多乙久久久久久| 国产又爽又黄| 九九十八精品| 成人黄页| 大香蕉伊人75| 色视频蜜乳| 天天日天天干天天整| 精品久久久亚洲AV成人网站| 亚洲人妻一区二区三区| 在线97在线| 伊人在线大香蕉二。| 久久粉色| 国产精品久久久无码aV去| 一级性爱aaaa| 男人的天堂亚洲| 97超碰久| 暴力av在线| 蜜乳AV免费观看| 日韩不卡毛片Av免费高清| 99热这里只有精| 欧洲精品网| 国语精品对白| 成人aⅴ一区二区三区| 国产18精品亚洲精品| 大香蕉伊人网WWWn0n| 欧美综合网1| 不卡日本一区二区| 不卡一区二区日本视频| 九九久久久久久爱| 亚洲日韩久久精品一区| 老熟妇91| 爽 好舒服 无码刺激久久| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 99最新日韩偷拍视频| 欧美日韩1234| 亚洲女毛多水多21P| 美女黄页| 熟女熟妇一区二区三四区| 国产精品视频自拍在线| 人妻激情另类| 97资源站久久| 五月婷婷六月丁香网址| 99这里只有精品| 国产中午字一暮区| 国产精品原创巨作?v网站| 另类小说欧美激情校园春色| 91成人高清在线观看| 免费无码国产精品v片在线观看| 五月天社区| 久久夜色一区二区| 九t超碰| 欧美拳交在线播放| 欧美一级黄色免费专区| juliaann丝袜大战黑鬼| 中文字幕奈奈美被公侵犯| 欧美猛交黑寡妇中文字幕| 95自拍视频在线观看| 日少妇亚洲版| 黄片免费看黄片免费看| 日韩在线观看AV| 国产免a费看黄片在线| 国产欧美美女免费观看视频| 成人a级高清视频在线观看| 78久久久| 国产精品老师| 91 综合 色| 亚洲精品久久久久久久蜜桃臀| 香蕉国产97| 国产怡红院| 日韩欧美国产一区二区三区四区 | 欧美aaaaaaa| 免费视频观看60秒| 99啪啪视频| 秋霞免费AV| www.av家庭乱伦| 97视频在线视频| 秋霞蝌科网日本一区| 麻豆成人AV| 大香蕉欧美国产日韩高潮| 国产亚洲禁久一区二区| 啊啊啊啊啊啊在线观看| 亚洲男人天堂2013| 国语人妻精彩刺激| 日本网色| 91在线视频免费播放| 男人的天堂va| 日韩射图| 91美女色视频亚洲| 无码91| 99热免费| 桃花色涩综合影院| 日本亚洲熟女视频| www.久久制服糖| 熟妇乱伦一区二区| 日韩欧美传媒一区国产| 久久9精品网站| 亚洲自拍欧美色综合| 日韩精品熟妇| 色哟哟-国产专区| 欧美日韩国产中文超碰| 国产黄色剧情影片麻豆免费播放| 天天躁日日躁XXXXYY| 人人做天天爱| 亚洲免费在线探花| 日韩亚洲精品一区二区| 欧美A片中文字幕| 成人精品久久久午夜福利| 亚洲精品九九九| 国产精品第一页国产大屁股视频免费区| 99最新日韩偷拍视频| 色香网| 精品制服美女中文一区二区三区| 亚洲中文字幕乱码无码一区二区| 日夜久久久九九九久| 中文无线日韩一区| 久久高潮妇女视频| 国产精品久久天天干| 一区二区三区四区免费视频| 少妇熟女视频一区二区三区| 亚洲伊人久久精品狠狠在线| 人人天天欧洲| 91jk色拍| 久久久四区| 日本性感人妻91| 日本熟妇人妻中出视频| 日韩精品99999| 欧美性猛交美女自慰91| 欧美18禁91| 亚洲欧洲第二视频在线观看色图| 九热超碰| 新亚洲无码| 日韩图区 偷拍| 中文字幕在线高清男人的天堂| 色优久久| 精品无码一二三四区| 思思热久久成人| 国内精品久久久久影院亚洲| 四虎 精品 WWW| 一起草视频在线| 92人人操人人| 曰本91情色| 精品无码一区二区三区色欲| 天天摸,夜夜摸| 亚欧洲一区二区视频| 国产h小视频在线观看免费| 久久精品美女一区| 亚洲综合校园春色| 青青免费在线视频一区| 人妻精品综合中文字幕在线 | A 天堂| 久久五月视频| 亚洲天天自拍| 97人人模人人爽人人| 久久机热| 国产成人精品日本视频| 好好的日:com久久九九| 午夜成人爽爽爽爽A片李冰冰| 五月婷婷爱六月丁香色| 很很很很操| AV污污污污| 亚洲久久天堂| www.色婷婷| 人人性爱视频免费| 熟女高潮合集-永久久久-成人AV| 先锋激情∨在线视频播放| 亚洲精品一卡二卡三卡福利视频网站| 欧美日韩不卡a片| 91痴汉| 人妻久热在线| 伊人久久大香线蕉无码| 欧成人在线| 午夜福利久久久噜久噜久久综合 | 97超碰总站| 久久一区二区三区入口| 欧美色狠| 亚洲日韩黑丝| 观看视频图片一区二区三区| 久久精品毛片免费不卡| 欧美黄色手机在线观看| 国产午夜福利合集| 午夜欧美J进J出白浆流出久久久| 久久精品国产亚洲AV高级北京| 国语精品对白| 激情小说亚洲视频| 大香蕉 222| 人妻丝袜无 码视频专区| 日韩欧美tv一区二区在线观看| 久久午夜神马| 草草影院最新网址| 日本一区二区不卡| 久久久久女教师免费一区| 蜜臀中文无码午夜| 欧美韩日精品资源| 97色欧州| 麻豆久久久久久久久丝袜 | 国产精品人人爽人人做可爱福利| 乱人乱色一区二区三区免费| 粉嫩久久久久| 老熟妇一区二区三区啪啪| 国产自产91区13区| www久久99| 强奸乱伦 亚洲一区| 青青草原成人| 日本一二三高清| 亚洲色9| 久久精品亚洲婷婷| 另类图片综合| 在线观看一级α片刺激高潮视频| 国产99热| 九X超碰| 色婷视频| 丁香五月激情综合国产| 丰满人妻一区二区三区四区| 欧美国产有色电影| 91蜜臀熟女| 欧美一级久久久久久久大片动画| 精品九九九| 欧美人体性爱互联网第一页婷婷日本| 欧美劲爆第一页| 欧美gv在线观看| 中文字幕在线观看永久| 岛国视频一二三区| www超碰| 久热69九色熟妇97| 超碰无码五月97| 999精品乱码| 日韩欧美大片免费高清啪啪| 日本免费人成视频播放120秒| 在线a v| 在线 制服丝袜中出 人妻| 伊人久久大香线综合无码| 精品一区二区三区四区外站| 麻豆精品.欧美精品.日韩精品.| 亚洲人久久久久日| 精品国产91av一区二区三区| 欧美一区91大爱| 国产欧美后入| 久草新在线| 深田咏美亚洲精品福利社| 麻豆精品久久久久久久| 玖玖资源中文字幕制服丝袜| 欧亚日韩中文在线| 国产精品久久久久久片| 嗯嗯啊啊操死我| www亚洲欧美| 五月天激情影院| 欧美日韩人妻婷婷一区| 人妻少妇被猛烈进入中| 熟妇人妻一区二区| 淫荡网址| 精品人妻伦一二三区久久| 性感女人网页在线观看视频| 激情欧美97| 亚洲欧洲综合视频在线| 美女让帅哥通她小鸡鸡| 蜜臀AV秘一区翔田千里| 久久久夜夜嗨免费视频| 四虎免费视频| 国产操偷| 国产又大又粗又长视频| 人妻乱仑一区二区三区| 亚洲欧美内射| 国产女人成人精品视频| 欧美精品欧美精品系列| 岛国精品视频在线观看| 久久一区二区三区入口| 美女爽到高潮91| 91少妇通奸网站| 久久‘黄片视频| 久久香蕉国产线看观看亚洲女人 | 啊啊啊好大好深| 亚洲欧美大| 热99这里只有精品| 成人 日本A片无码8888| 九九热AV| 成人电影一区| 98人妻精品一区二区色欲| 少妇99| 麻豆亚洲Av成人无码一区精品| 亚洲欧美在线观看无码| 青草综合| 亚洲无码视频免费在线观看网址!| 一区二区三区四区久久视1| 五月丁香综合| 亚洲欧美经典一区二区 | 97色婷婷| 密乳无码| henhen91| 97精品综合久久网| 尤物视频网 刘玥| 欧美日韩97在线| a久久| 亚洲综合在线高清| 夜夜狼人妻| 自拍偷拍国产欧美日韩韩| 久久久com| 天天综合青苹果| 久久久无码精品人妻二区 | 操淫穴亚洲五月丁香 | www.91视频网| 在线人妻熟女一区二区三区四区五区| 大香久久| 嗯……啊…嗯嗯…啊…好舒服| 丁香五月综合| 欧美日韩亚洲少妇寂寞影院正在播放 | 精品久久視頻在线| 91精品婷婷国产综合久久竹菊| 在线看的av| 中出20p| 97频视在线| 日韩中字av一区| 3571色综合一区二区二区| 日韩人妻中文视频| 秋霞无码av鲁丝片一区| 特级特黄一级毛片免费| 丁香婷婷五月| 天美传媒av一区二区| 一区二区三区色综合| 精品人妻一区春色| 日本 免费 一区二区三区 久久香蕉| 欧美图片色综合| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 97欧美日韩综合| 91久久久久久久| 久久日本熟女精品一区| 亚洲91网。| 久久超碰爱| 国产精品制服丝袜中文字幕日韩一区二区三区 | 丝袜无码a片| 综合av影片| 综合自拍| 97超碰护士| 手机在线A片| 亚洲成av人片色午夜乱码| 国产无马av| 久久嫩草国产成人一区| 亚洲电影91| 97超碰9| 免费av在线播放二区| 午夜精品久久久久久久99蜜桃一| 欧美精品久久久久久久久88| 五月天婷婷久久| 后入人妻一区| 极品出轨视频网站| 91处女在线观看| 亚洲人妻在线一区| 无码欧美有限公司| 香蕉免费一区二区三区不读| 久久婷婷成人综合色怡春院| 午夜精品久久99蜜桃的功能章节| 日韩有码 一区二区三区| 很很热性爱视频| 麻豆黄四叶草网站| 91情色| 亚洲欧美日韩夜夜| 岛国人妻少妇av在线观看| 久久久久密臀视频| 久久在线观看免费视频| 在线国产探花| 欧美日韩亚洲五月天婷婷| 日韩在线欧美精品一区二区| 性色av婷婷久久一区二区点复制| 久久有碼| 波多野结衣一级视频| 亚洲免费97免费| 欧美十八禁导航成人| 91狼人| 青青草日韩免费观看高清在线| 欧美日韩国产高清在线一二三区 | 国产女同在线观看视频| 欧美一级久久久丰满| 久操视频免费在线观看| 97在线观看| 蜜乳AV一区| 亚洲综合影片| 国产中出内射一区二区| 91天堂色男人的天堂| 亚洲好色人妻| 人人干人人搞人人摸| 精品一区二区久久| 精品少妇一区二区三区在线视频| 色悠久久久av| 日本中文字幕在线电影| 97人妻人人躁人人玩人人| 国产精品久久久久亚洲av| 老女人碰碰在线碰碰视频| 韩日性爱av| 99999精品视频| 亚洲h片在线免费观看| k频道色撸撸| 国产精品 久久久精品一牛| 亚洲性图91| 国产精品色| 国产亚洲精品A在线观看下载| 天天舔九色婷婷| 午夜寂寞欧美| 久久精品噜噜噜成人看免欧美大片| 97色碰| 国产综合色精品在线观看| 亚洲另类色图片| 亚洲最大AV网| 清纯唯美亚洲综合| 97热视频在线观看| 综合网,亚洲,欧美| 亚洲少妇综合在线播放| 在线97视频| 成人精品水蜜桃久久久久久久| 五月色综合| 激情久久久| 老熟女搡BBBB搡BBBB视频| 免费男人的天堂| 国产久久日韩网站导航| 婷婷色综合| 日韩AV熟女乱伦| 台湾一区国产高清在线| 天天cao在线| 久久超碰天天| 骚女高跟AV在线| 人妻无码久久一区二区三区免费| 久久麻豆一区二区| 最新日韩黄片| 亚洲欧洲国产综合av| 国产 日韩 欧美高清| 超清福利精品视频在线| 国产剧情在线| 久久综合97| 亚洲丝袜少妇在线| 天天综合青苹果| 色97国产69香蕉| 亚洲精品人伦一区二区| 久久久久久久六六 | 色五月激情AV在线| 综合激情一一91| 欧美亚洲成人在线一区二区三区| 婷婷五月天成人网| 四色永久成人网站| 亚洲精品久久久久久久蜜桃臀| 成人婷婷丁香| 蜜桃视频精品一区二区| 精品一区二区成人| 婷婷伊人綜合中文字幕| 色久综合| 亚洲少妇色图自慰直播| 情色五月天网| 亚洲第二页| 欧美色91| 成人午夜高潮av猛片| 第一高清av中文字幕|