99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

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

鴻蒙6.1 arkui.componentSnapshot組件截圖坑:返回PixelMap不是dataURL 本文是「鴻蒙 6.1 API 23 開發(fā)坑系列」第 2 篇ArkUI 桶第 2 篇。本篇講ohos.arkui.componentSnapshotnamespaceAPI 10鴻蒙 6.1 API 23 基座——組件截圖三個方法get/getSync/createFromBuilder。鴻蒙坑根因①import坑——import { componentSnapshot } from編譯錯has no exported member必須import componentSnapshot fromdefault import② 返回值坑——get(id)返回Promiseimage.PixelMap不是dataURL字符串React html2canvas 返回 dataURLimage.PixelMap是像素圖有getImageInfo/getPixelBytes可讀像素③createFromBuilder(builder)的 builder 參數(shù)是CustomBuilderBuilder裝飾的函數(shù)不是 Component。一、開篇鴻蒙 componentSnapshot 不是 html2canvas是「返回 PixelMap 像素圖」你寫 React 時組件截圖用html2canvas返回 canvas → toDataURL 轉 dataURL 字符串// React html2canvas返回 canvas → toDataURL 轉 dataURL 字符串 async function snapshotComponent() { // ? html2canvas 返回 HTMLCanvasElementtoDataURL() 轉 dataURL 字符串 const canvas: HTMLCanvasElement await html2canvas(document.getElementById(target)) const dataURL: string canvas.toDataURL(image/jpeg, 0.9) // ? dataURL 字符串 // ? React html2canvas返回 canvas → dataURL 字符串不是 PixelMap 像素圖 }你寫鴻蒙 ArkTS 時組件截圖用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 把組件截圖當 canvas 轉 dataURLhtml2canvas 返回 HTMLCanvasElement toDataURL() 轉 dataURL 字符串base64 編碼字符串ArkTS 把組件截圖當 PixelMap 像素圖componentSnapshot.get 返回 Promiseimage.PixelMapimage.PixelMap 是像素圖有 getImageInfo/getPixelBytes 可讀像素不是 dataURL 字符串。根因不是 dataURL 字符串是 PixelMap 像素圖——鴻蒙返回 image.PixelMap 像素圖有 getImageInfo/getPixelBytes 可讀像素。二、根因鴻蒙 componentSnapshot 的三個綁定機制鴻蒙ohos.arkui.componentSnapshotnamespaceAPI 10有三個截圖方法每個返回image.PixelMap像素圖。綁定機制來自三重根因。機制 1import 坑——default import 不是 named import鴻蒙坑根因import { componentSnapshot } from編譯錯——必須import componentSnapshot from// ? 鴻蒙坑import { componentSnapshot } from 編譯錯has no exported member // ? 編譯錯Module ohos.arkui.componentSnapshot has no exported member componentSnapshot // ? 錯誤信息Did you mean to use import componentSnapshot from ohos.arkui.componentSnapshot instead? import { componentSnapshot } from ohos.arkui.componentSnapshot // ? named import 編譯錯 // ? 正確用法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編譯錯。正確用法是import componentSnapshot fromdefault import。機制 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 返回無 getImageInfo/getPixelBytes。根因不是 dataURL 字符串是 PixelMap 像素圖——鴻蒙返回 image.PixelMap 像素圖有 getImageInfo/getPixelBytes 可讀像素。機制 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 類型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類型Builder裝飾的函數(shù)引用不是 Component 實例不是 build() 返回值。鴻蒙坑傳 Component 實例或 build() 返回值會類型錯——必須傳Builder裝飾的函數(shù)引用MySnapshotBuilder不是MySnapshotBuilder()。三、真機配圖鴻蒙 arkui.componentSnapshot 組件截圖坑——get/getSync/createFromBuilder真機配圖展示鴻蒙 arkui.componentSnapshot 組件截圖坑初始態(tài)鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑標題截圖目標組件紅框 idsnapshotTarget四角文字左上/右上/左下/右下場景1~4 卡片get/getSync/createFromBuilder/截圖存文件要點說明get(id) 異步截圖態(tài)點擊「① get(id) 異步截圖」按鈕snapshotStatus 顯示「? componentSnapshot.get(id) 異步截圖成功PixelMap 1066x278」截圖次數(shù) 1——get 返回 Promiseimage.PixelMap 驗證getSync(id) 同步截圖態(tài)點擊「② getSync(id) 同步截圖」按鈕syncSnapshotStatus 顯示「? componentSnapshot.getSync(id) 同步截圖成功返回 image.PixelMap不用 await」截圖次數(shù) 2——getSync 同步返回 image.PixelMap 驗證createFromBuilder 態(tài)點擊「③ createFromBuilder 截圖」按鈕builderSnapshotStatus 顯示「? createFromBuilder(builder) 截圖成功PixelMap 393x78」截圖次數(shù) 3——createFromBuilder 從 CustomBuilder 截圖驗證截圖存文件態(tài)點擊「⑦ 截圖存文件」按鈕savedFilePath 顯示「/data/storage/…/cache/snapshot_*.jpeg」截圖次數(shù) 4——PixelMap 存文件驗證image.createImagePacker fs.writeSync四、真解法鴻蒙 componentSnapshot 的三個場景場景 1get(id) 異步截圖 getSync(id) 同步截圖——90% 場景首選get/getSync 截圖用componentSnapshot.get(id)componentSnapshot.getSync(id)// ? 場景 1get(id) 異步截圖 getSync(id) 同步截圖API 10/1290% 場景首選 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% 場景首選返回 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跨平臺atomicservice原子化服務SnapshotOptionsAPI 15SnapshotRegion/left/right/top/bottom 矩形區(qū)域截圖。場景 2createFromBuilder(builder) 從 CustomBuilder 截圖createFromBuilder 截圖用componentSnapshot.createFromBuilder(MyBuilder)Builder裝飾函數(shù)// ? 場景 2createFromBuilder(builder) 從 CustomBuilder 截圖API 10 import componentSnapshot from ohos.arkui.componentSnapshot // ? Builder 裝飾的函數(shù)是 CustomBuilder 類型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 實例 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ù)類型傳函數(shù)引用MyBuilder不是調(diào)用MyBuilder()delay延遲截圖毫秒數(shù)等組件渲染完checkImageStatus檢查圖片狀態(tài)true 等圖片加載完再截圖鴻蒙坑builder 參數(shù)傳 Component 實例或 build() 返回值會類型錯——必須傳Builder裝飾的函數(shù)引用。場景 3PixelMap 存文件——image.createImagePacker fs.writeSyncPixelMap 存文件用image.createImagePacker().packing()打包 JPEG buffer fs.writeSync寫文件// ? 場景 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 打開文件 fs.writeSync 寫 buffer fs.closeSync 關文件 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) 關文件 } // 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同步打開文件API 10.fd取文件描述符fs.writeSync(fd: number, buffer: ArrayBuffer)同步寫 bufferAPI 10第一參傳 fd 文件描述符不是 File 實例fs.closeSync(fd: number)同步關文件鴻蒙坑fs.writeSync第一參傳file.fd文件描述符不是 File 實例方法是 namespace 頂層函數(shù)getContext(this)已 deprecated 警告但仍可用推薦用this.getContext()或組件 Context。五、一句話哲學寫鴻蒙 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編譯錯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 實例有 delay/checkImageStatus/options 參數(shù)image.createImagePacker().packing(pixelMap, { format: image/jpeg, quality: 90 })打包 PixelMap 為 JPEG bufferformat 是image/jpeg不是jpegfs.writeSync(fd, buffer)寫文件第一參傳file.fd文件描述符是 namespace 頂層函數(shù)不是 File 實例方法。componentSnapshot 返回 image.PixelMap 像素圖不是 dataURL 字符串是鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑核心能力系列回鏈鴻蒙 7.0 新特性篇 1~17沉浸式毛玻璃/Component3D/智能體框架/方舟引擎/星盾安全/星河互聯(lián)/空間音頻/可變字體/游戲快啟/分布式數(shù)據(jù)盾/LTPO 可變幀率/AI 文檔識別/多形態(tài)服務窗口/AI 反詐/機密計算/空間計算/小藝全面進化鴻蒙 6.1 API 23 開發(fā)坑系列篇 1「ArkUI.modifier 裝飾器坑」——attributeModifier AttributeModifier 狀態(tài)化節(jié)點修改器鴻蒙 6.1 API 23 開發(fā)坑系列篇 2「arkui.componentSnapshot 組件截圖坑」——get/getSync/createFromBuilder 返回 image.PixelMap本文真機 demo 完整代碼// 鴻蒙 6.1 API 23 開發(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 (無錯) 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 (無錯) } catch (e) { this.lastError ? get 異步截圖錯 e.message } } demonstrateSyncSnapshot() { try { const pixelMap: image.PixelMap componentSnapshot.getSync(snapshotTarget) this.syncSnapshotStatus ? componentSnapshot.getSync(id) 同步截圖成功返回 image.PixelMap不用 await this.snapshotCount this.lastError (無錯) } catch (e) { this.lastError ? getSync 同步截圖錯 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 (無錯) } catch (e) { this.lastError ? createFromBuilder 截圖錯 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 錯 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 (無錯) } catch (e) { this.lastError ? 截圖存文件錯 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(截圖目標組件idsnapshotTarget).fontSize(12).fontColor(#dc3545).fontWeight(FontWeight.Bold) Text(componentSnapshot.get(snapshotTarget) 截這個 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(場景 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(場景 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(場景 3createFromBuilder(builder) 從 CustomBuilder 截圖API 10) .fontSize(12).fontColor(#28a745).fontWeight(FontWeight.Bold) Text(builder 參數(shù)是 CustomBuilder 類型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(場景 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 組件截圖坑要點) .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 對比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(錯誤${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) } }寫鴻蒙 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編譯錯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 實例有 delay/checkImageStatus/options 參數(shù)image.createImagePacker().packing(pixelMap, { format: image/jpeg, quality: 90 })打包 PixelMap 為 JPEG bufferformat 是image/jpeg不是jpegfs.writeSync(fd, buffer)寫文件第一參傳file.fd文件描述符是 namespace 頂層函數(shù)不是 File 實例方法。componentSnapshot 返回 image.PixelMap 像素圖不是 dataURL 字符串是鴻蒙 6.1 arkui.componentSnapshot 組件截圖坑核心
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天射综合网站| 四色五月婷婷| 久热黄色| 丁香五月婷婷亚洲天堂| 牛色色碰| 年轻的妺妺伦理HD中文| 夜夜谢天天干| 九九精品99| 99aese| 人妻中文字幕网| 久久综合九九| 99精品热| 婷婷五月成人| 丁香五月婷中字在线| www.婷婷.com| 丁香婷婷六月| XX色综合| 99色精品| 欧美日韩aaa| 日韩欧美四五区| 91人人澡人人爽人人看| 久久大香蕉伊人| 色色欧美色色色| 影音先锋一区| 色色婷婷丁香| 日本九九九九| 久久性爱视频| 操碰色一区就去操| 久久婷婷免费| 婷婷新网址| 国产毛多水多女人A片| 在线看av| 久久五月天免费网站| 亚洲精品久久久久久久久久飞鱼| 久久小说网| 色五月成人| 五月婷婷激情综合网| 丁香五月天婷婷久久| 亚洲操逼片| 亚洲乱码w在线观看| 久久色大香蕉| 色婷婷影视99| 色婷婷88| 丁香婷婷精品视频| 插插干干干色| 婷婷五月天免费视频在线观看| 丁香六月色情| 色婷婷五月中文字幕在线dvd| 丁香六月婷婷高清| 天天色天天色天天色天天色天天色| 国产精品噜噜在线视频| 巴基斯坦粉嫩无码视频| 99re6久热只有精品6在线直播| 丁香花社区av| 婷婷伊人綜合中文| 婷婷综合视频| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 噜噜视频| 日韩黄色影院| 狠狠久久婷婷| 久久丁香五月综合六月激情红杏视频 | 激情综合网之激情五月| 丁香五月婷婷激情123| 色99综合视频| 玖玖在线视| 婷婷五月天综合久久| 婷婷在线播放| 婷婷五月天综合网| 激情婷婷视频在线| 黄色aaaaa| 精品色情一区二区三区四区| 五月深爱激情网| 五月婷婷,六月丁香| 激情婷婷啪啪| 色婷婷五月综合| 五月婷婷综合网| 99在线er热| 五月婷婷深深爱| 色婷婷9| 超碰在线人人| 丁香婷婷九月在线| 久久久久网站| 五月婷婷婷婷婷婷艺术| 久久久人妻| 99re视频在线播放| 色吧婷婷五月亚洲| 色色爽爽天天| 韩国三级五月天婷婷。| 欧美婷婷五月丁香| 99超碰人人| 天天搞夜夜爽夜夜爽| 韩国婷婷丁香五月| 色综合久久888| 人人播| 在线视频区| 国产性爱色| 九九99九九99九九99视频网| WWW.99热| 99热在线播放| 国产精品久久..4399| 天天综合激情| 五月丁香无码| 99艹精品在线观看| 日批在线看| 色五月天综合网| 99久久性爱| 99色免费观看全部| aaaaaa片| 久久综合激情| www.婷婷,com| 99色性爰网络| 操精品9| 久久婷丁香五月| 久色视频首页| 日本狠狠干| 伊人大香蕉在线视频| 婷婷五月天色丁香| 久久这里只有精品热在99| 91大操| 日本啪啪天堂| 99九九玖玖| 色婷婷性爱网| 很操日本7| 成人av播放| 久久久av久av久片一区二区| 丁香五月婷婷色综合基地| 国产精品视频| AV色婷婷| 激情久久五月天| 91人无码久久久久久| 日本本土色网第一区| 色婷婷五月综合| 欧美激情综合五月色丁香| 性欧美日本| 99在热线免费视频| 综合激情sV| 五月欧美色色五月| 伊人久久婷婷五月综合97色| 青青草六月丁香| 噜噜在线| 秋霞三级影视资源| 日日躁夜夜躁狠狠久久AV| 色婷婷AAA| 热99免费在线| 337p大胆噜噜噜噜噜91Av| 丁香五月天激情视频| 成人五月丁香花| 涩五月婷婷| 激情五月综合网丁| 欧洲激情精品婷婷| 9999热在线免费观看| 五月婷婷综合在线视频小说| 九九 激情 网| 一起草性爱不卡视频| 婷婷久久五月天丁香| 一级黄色尤物综合视频手机在线观看| 很很色丁香久久停停| 婷婷精品综合| 色色色综合色| 久久婷婷五月天| 小视频aaa久久久| 久久五月婷| 五月天六月丁香| 五月天激情四射| 天天插天天插天天操| 久热无码| 国产热精品| 秋霞电影理论| 91伦| 色色婷婷五月天| 超碰成人免费| 天天色2017| 华人在线免费| 天天射美女| 欧美色五月| 3pAV| 婷婷五月丁香A∨| 婷婷丁香五月天激情| 天天操天天曰天天射| 青青草原亚洲天堂| 婷婷激情欧美| 99热1| 日日操日日撸| 另类综合婷婷五月天欧美视频| 久久嘟嘟丁香| 最近韩国日本免费高清观看| 人人播| 五月天色色网站| 能看的av| 色婷婷电影网| 婷婷综合网在线| 欧美熟女视频 色婷婷| 婷婷五月天成人网站| 国产在线视频1234| 少妇高潮呻吟A片免费看软件 | 九九免费视频在线| 久久婷婷五月综合啪| 99熟女| 人人干AV| 色色五月婷| 综合久久狠狠| 五月天激情久久| 国色天香成人网| 欧美丁香五月天| 91九色中文| 91超级碰碰碰| 丁香五月欧美激情| 久久 天天| 5月激情天| 国产一级黄色影片,| 超碰免费人妻| 激情六月综合| 内射丰满人妻| 狠色狠色狠狠色综合网| 性视频久久| 性欧美大战久久久久久久83| 婷婷久久五月天| 婷婷五月天激情五月天深爱五月天| 久久九九网| 人妻免费网站| 色网五月婷婷| 欧美在线| 日本人妻A片成人免费看片| 久久探花91swag| 丁香六月啪| 激情五月丁香综合网站| 天色综合网站| 3p日韩网站视频| 婷婷99中文字幕| 无码人妻一区二区一牛影视| 五月天丁香啪啪网| 91人在线观看| 亚洲V国产V欧美V久久久久久| 综合久久综合| 美女网黄| 色五月激情综合网| 亚洲综合激情五月久久| 狠狠色婷婷7777久| 综合色99| 五月婷婷啪啪| 99热国产免费| 国产精品电影| 丁香五月激情综合| 思思网站| 青青草搞屄视频网站| 婷婷丁香激情综合色情| 无码激情| WWW丁香五月| 99热亚洲| 色999亚洲人成色| 丁香五月情| 888久久久| 91碰碰视频在线观看| 色色色综合网| 婷婷丁香18| 人与禽A片啪啪| 五月婷丁香| 久久婷婷视频| XX色综合| 69久热| 色综合久久88色综合天天| 七月丁香婷婷 色色| 天天操夜夜操| 超碰在线个人观看| www,色婷婷| 欧美性色视频| 六月激情婷婷| 大香蕉久久| 天天操夜夜操| 五月婷视频| 色综色网| 人人综合久| 91狠狠综合久久| 99在线热| 色香五月天| 可以免费看AV网站| 91精品久久久久久久| 日韩一级片| 六月婷婷综合| 丝雨一区二区| 久久久激情视频| 99re66热这里只有精品| 色宗合久久五月婷婷| 亚洲成人va| 思思热视频在线观看| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 欧美精品啪啪| 裸体做A爰片毛片A片免费| 情欲禁地| 国产老熟妇亲子乱对白| 亚洲激情高潮| 成人永久免费视频在线观看| 天天干,夜夜爽| 欧美五月婷婷综合| 久久激情视频| 日本va欧美va欧美精品88| 婷婷五月AV| 99激情视频| 成人网在线观看视频| 丁香亚洲色综合| 色综合香蕉| 久久色情| 婷婷99狠狠躁| 亚洲中文丁香| 久久99热这里只有精品 | 成片免费观看视频大全| 丁香六月色| 亚洲综合婷婷| 五月天综合在线观看| 久久香蕉影院| 亭亭玉月丁香| 激情婷婷六月| 91超碰人人操| 久久婷婷综合基地| 丁香婷婷成人网| 99在线观看精品视频| 99久久97| 亚洲开心激情网| 99精品热| 五月黄色婷婷| 丁香五月婷婷欧美成人色图| 色婷婷丁香五月| 91热久| WWW色五月天| 天天日日夜夜| 中文字幕在线不卡视频| 婷婷五月天人妻| 亚洲av网站| 丁香婷婷久| 激情婷婷五月天伊人在线观看| 久久色五月天| 婷婷自拍| 99re这里| #NAME?| 色婷婷丁香五月高清在线| 激情综合国产| 九九偷拍网| 日逼免费视频| 国产69精品久久久久999小说| 久草视频一,二三四| 国精产品久久| 抽插特写| 激情五月综合网最新| 婷婷91| 久久久久久综合88| 五月停停色色丁香| www.五月婷婷.com| 五月综合激情| 日韩成人av在线| 丁香激情五月| 久99久视频免费观看| 79色色色色| 丁香五月婷婷免费视频| 青青福利网| 乱精品一区字幕二区| 久久丝丝热| 伊人五月婷婷| 五月激情视频| 丁香五月AV| 色色激情五月天| 51XX午夜影福利| 久久综合影院| 色婷婷丁香| 亚洲AV网站在线观看| 色五月五月婷婷| av超碰在线| 五月丁香婷婷三级| 亚洲网站999| 亚洲色图五月丁香| 思思久久网| 色婷婷综合网| 六月天六月婷| 色99免费视频中文| 成人在线网址| 欧美婷婷五月无砖| 91高潮喷水久久久久久久久| 亚洲熟妇无码乱子AV电影| 激情丁香五月AV| 九九这里只有精品| 99热在线爱| 久久久国产精品黄毛片| 俺也高清无码高清视频| 性生活视频98791| 在线中文av| 亚洲小视频免费播放| 超碰99在线观看| 五月天婷婷久色| 猫咪伊人AV| 五月天婷婷在线AN| 亚洲精品色色| 九日日夜夜69| 日本久久精品| 热99这里只有精品视频| 天天射天天干天插色综合| 超碰99在线观看| 激情综合综合综合| 欧美激情久| 色噜噜婷婷| 激情亚洲婷婷六月| 成人一级片| 99热最新| 久久激情五月| 先锋资源996| 婷婷色色宗合网| 五月天开心色情网| 五月综合缴情网| 久9无码视频| 99在线精品视频| 五月丁香婷婷俺| 91免费看片| 亚洲五月婷婷| 久久免费操| 青草久久五月婷伊人| 国产免费av网站| 中文字幕在线观看视频www| 久久视频九九视频| 六月亚洲婷婷6月中文字幕| 日本三级99人妇网站| 超碰在线观看9| 操日本人妻视频| 五月丁香成人| 色天堂操| 久婷婷视平| 亚洲最大视频| www.久久爱.com| 九月色婷婷综合| 日韩欧洲亚洲| 丁香婷婷婷五月综合色情| 成人丁香五月| 亚洲色综合| 亚洲另类视频| 精品51XX| 国产成人网址| 日本99色| 99热这里精品| 这里只有精彩亚洲视频推荐| 五月丁香六月激情综合啪啪| 丁香五月天导航| 久久999久久999久久999久久| 在线18av | 九九热最新地址| 综合久久99| 夜夜操夜夜姧| 一根材五月婷成人| 五月婷婷六月丁| 婷婷色五月激情强奸四射| 九九艹女| 色婷婷久综合久久一本国产AV| 五月婷婷|欧美| 久久深爱激情网| 99热 免费| 99色热视频| 免费啪啪啪网站| 5月丁香综合图区| 欧美99热| 无码色| 五月婷在线观看| 99精品一二三四视频| 亚洲另类日本| 五月婷婷婷丁香播| 大香蕉久久婷婷| 久久激情五月| 香蕉视频91| 五月丁香综合激情| 4438激情网| 色婷六月| 亚洲综合色色| 性色五月天| 国产超碰在线| 综合激情五月丁香| 国产欧美日韩综合精品一区二区| 日产精品一线二线三线芒果| 琪琪色五月婷婷老师| 全部老头和老太XXXXX| 伊人无码高清| 亚州成人综合在线| www.91在线看| 国产精品久久..4399| 91狠狠综合久久| 婷婷色婷婷| 丁香五月亚洲AV| 狠狠做五月| 开心激情色婷婷五月天| 国产乱妇无乱码大黄AA片| 五月婷婷久久综合| 久久婷婷艹| www.五月婷| 日本久久超碰| 丁香六月av| 丁香婷婷久久激情| 色五月丁香网| 日韩九九| 岛囯综合激情网| 99热久97| 亚洲avjiujiur91| 中文字幕色色色| 日本五月天婷婷丁香| 91婷婷色 | 激情五月天丁香| 国产JK精品白丝AV在线观看| 99热 在线播放| 任你爽免费视频| 婷婷永久在线| 婷婷五月色激情欧美激情| 久久婷婷五月天| 午夜精品久久久久久久爽| 久久久9久| 色色五月天网站| 国产99精品免费视频| 婷婷五月天亚洲综合| 色播五月综合网| 黄网在线播放| 久久嘟嘟丁香| 啪啪啪五月天| 婷婷综合色色| 婷婷五月色花丁香社区| 九九综合精品| 色五月激情综合| 噼里啪啦在线观看免费完整版视频 | 天天色播| 丁香伊人五月色婷婷五十路| 婷丁五月| 99超级碰碰| http:色情日本com| 日本人妻A片成人免费看片| 99久久er| 色99在线| 一逼色综合| 日本熟女内射| 五月婷婷激情综合| 97av在线视频| 婷婷丁香六月天| 国产精品扒开腿做爽爽爽A片唱戏| 九九av在线| 色婷五月丁香久亚洲| 97操视频| 丁香五月777| 五月丁香伊人网| 色色色图| 五月丁香成人| 五月天色五月| 久久婷婷五月综合色天| 激情五月com| 六月婷婷开心| 婷婷色九月| 五月六月婷| 亚洲色爽| 91九色精品熟女内射| 国产永久一黄| 五月婷婷激情四月| 久久ri精品| 丁香五月 综合| 亚洲激情在线| 涩五月婷婷| 中文字幕丰满人妻无码专区| 99草视频在线观看| 亚洲最大激情无码| 五月丁香六月婷婷久久| 这里只有精品免费视频| 五月综合激情图片| 五月天婷婷在线播放免费| 99热网精品| 婷婷丁香五月天欧美| 思思热视频| 色停停香蕉视频| 99色在线观看视频| 丁香九九九九| 五月色影院| 色色精品色| 激情综合色| 色婷五月| 丁香五月天堂| 激情网站综合五月天| 色噜噜狠狠色综无码久久合欧美| 久久黄色免费视频| 日本黄色三级片内射| 色婷婷色五月色丁香| 亚洲V国产V欧美V久久久久久| 婷婷五月 丁香六月| 激情五月婷婷综合| 丁香五月在线视频黑人| 中文婷婷狠狠| 综合在线色婷婷| 久草九九| 99久久婷婷| 草操网| 超碰97在线操| 日婷婷久久开心| 91热视频色网站| 丁香五月天网站| 久久婷婷五月| 国产做爰视频免费播放| 亚洲精品激情| av在线免费播放| 免费视频无码| 五月婷婷狠狠干| 五月婷婷国产| 欧美成人va| 97色色色色色色色色色色色色色| 色婷婷色和| 91AV婷婷| 亚洲色婷婷99一9|| 第五婷婷伊人丁香| 色婷婷电影网| 婷婷色欧美激情| 操逼三区| 亚洲欧洲中文日韩久久AV乱码| 丁香五月激情鲁| 铁牛TV人妻| 婷婷丁香成人| 五月婷婷激情综合网 | 国产婷婷综合| 九月激情综合婷婷| 日日操天天操| 狠狠操狠狠插| 欧美日韩大黄| 嫩草视频观看| 婷婷五月丁香五月| 久久综合影院| 色婷婷五月天堂资源| 偷偷操99| 2018夜夜草| www.97干视频| www.狠狠| 一级二级色大片| www.91.com处女在线直播| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 99精品在线观看视频| 九九热思思热| 婷婷色导航| 色久一| 国产精品国产成人国产三级| 婷婷五月电影| 天天色,天天日,天天做| 立川无码av| 99人人干人人| 欧美久久久中文字幕| 久久久久这里只有精品| 五月婷婷亚洲色视频| 丁香六月婷婷综合麻豆| 综合婷婷久久| 婷婷成人在线| 日韩AC在线免费观看| 色色婷婷丁香| 久久久18| 激情婷婷丁香| 婷婷久久亚洲| 色情一区二区播放| 桃色激情婷婷伊人网| www,久久久| 久久9RE热视频精品98| 99ER热精品视频| 婷婷色五月天在线观看| 久久久大香蕉| 操逼巨乳91| 六月丁香社区| 久久色这里只有精品| 日本婷婷丁香五月| 激情文学天天| 97色色综合| 91久久电影| www激情婷婷com| 色婷婷丁香AV综合| 丁香五月激情六月| 亚洲色婷婷激情| 五月婷婷深深的爱| 中文字幕婷婷五月天| 99久久久久久| 五月婷婷黄色| 日本片日本片祼观看网站在线看中文版网页在线看| 啪啪五月综合| 成人短视频在线免费观看| 五月天堂六月丁香亚州中文字幕久久| 午夜AV网| 欧美日韩精品一区二区三区钱| 人妻激情久久| 色婷婷色丁香色欲av| 欧州婷婷五月天综合| www免费在线视频| 国产精品美女久久久久AV超清| 激情五月综合| 丰满少妇乱A片无码| 超碰狠狠干99| 久久久久久婷| 日本97久久久精品| 色哟哟精品| 亚洲色色色色色色色色色| 天天干,天天舔| 五月天激情网图片 - 百度| a69在线视频| 色婷婷五月网| 九九婷婷网五月天| 九九99九九99九九99视频网| 人妻操逼视频| 激情内射人妻1区2区3区| 久草丁香婷婷1024| 99草视频在线观看| 99久久婷婷| 婷婷五月天色综合翘| 无码一区精品一区视频| 天天操天天干天天射| 日本操B片| 9精品视频在线| 第四色激情网| 狠狠999| 五月婷婷婷婷网| 五月天激情久久| 色婷婷激情| 97一区二区| 色欲婷婷五月天丁香| 91操碰| 国产日日夜夜操| 天天日,天天插| 91人人爽狠狠狠| 日日夜夜干| 开心久久网婷婷| 色色色五月婷婷| 99精品视频免费观看,| 五月色影院| 六月丁香五月天| 丰滿爆乳一区二区三区| 日本久热| 夜夜做夜夜愛| 99热精品在这里| www,99热在线观看| 国产 码在线成人网站| 婷婷五月天亚洲精品| 日韩精品一区二区亚洲AV观看| 99热9| 97碰成超视频免费视频| 婷婷色五月激情| 五月天婷婷AV| 手机激情网| 99精品久久久久久久婷婷| 97日本在线播放| 九九人人操| 久久婷婷五月免费视频| 色之综合网| 99热这里全是精品| 色婷五月天| 91人人超碰在线| 激情五月婷婷中文字幕| 99久久6| 熟美女麻豆| 丁香婷婷五月天色播| www.99热视频| 亚洲成人AV一区在线观看| 激情五月天婷婷久久久久久久久久久| 综合网啪| av人人操| 天天射天天射一道本日本社区| 亚洲激情在线| 婷婷网影院| 色婷五月天综合网| 夜夜嗨一区二区三区直播内容| 六月丁香啪啪| av在线免费网站 | 久久精品99国产精品日本| 99色干| 中文av网站| 一起操最新网址| 久草五月天电影网| 五月天国产| www.婷婷亚洲基地| 亚洲欧洲午夜成人精品av| 婷婷色综合网日韩国产| 开心五月婷婷激情网| 亚洲色五月| 色婷婷五月天激情| 欧美在线视频99| 日日噜噜夜夜狠狠久久丁香六月| 久色大| 丁香五月婷婷99| 天天爽天天摸天天爱| 97操碰在线97| 直接看的AV网站| 91av成人| 五月婷婷免费看| 五月丁香 狠狠爱| 五月婷婷欧美激情| www.久99| 欧美va欧美va差| 国产精品24r| 天天摸色吧天天摸色吧| 操b视频在线观看一区二区| 五月婷婷五月天亚洲无码| 五月天大香蕉av| 开心五月色婷婷综合开心网| 亚洲无码影音| 六月丁香社区| 综合色色色色色色| 99综合成人视频在线观看 | 成人国产欧美大片一区| 婷婷成人综合五月| 日本成人内射| 五月的色婷婷高潮| 五月天婷婷情色| 激情四射网| 婷婷五月成人| 影音先锋女人AA鲁色资源| 天天干狠狠操| 性爱技巧五月| 色情五月综合婷婷| 99久.| 色综合五月天| 思思99re这里只有| 日逼影音先锋AV男人资源站| 五月婷婷六月激情| 九九热欧美| 久久97| 99热只有精| 久久玖玖综合| 五月天久久婷婷| 五月花婷婷最新| 五月婷婷www| 狠狠色色| 色五月色五天色情网| 2013AV天堂| 五月综合无码| 精品久久久久久久人妻| 丁香六月婷| 国产精品色色| 欧美日韩aaaa| 亚洲精品成人| 九九色婷婷五月天| 日韩超碰在线| 丁香六月婷婷高清| 精品亚洲日韩99欧美片| 久操大香蕉| 99久久极情精品一区| 99热超碰| 丁香社92视频| 中文字幕在线观看视频www| 久热播这里只有精品| 久操福利| 91九色超碰| 九九色精品| 狠狠插狠狠| 中文字幕婷婷| 九月色婷婷综合亚洲| 1024国产| 日韩AV免费电影在线播放| 偷拍91九色| 先锋av性爱成人电影| 色六月婷婷| 婷婷五月天国产性感美女演员久久久久| 91丨九色丨熟女|老版| www.com操| 九九色影视| 欧美超碰亚洲| 精品亚洲国产成人A片在线鸭王 | 色五月成人| 五月天狠狠草| 婷婷五月蜜桃成人桃色丁香| 激情AV中文| 色视频色综合91| 色五月激情婷婷| 99精品视频网站| 综合狠狠五月婷婷| 日本一道久久| 亚洲色色五月| 大香蕉婷婷婷| 狠狠精品干练久久久无码中文字幕 | 色色色免费视频| 婷婷五月情| 激情婷婷五月天在线观看| 99热18| 亚洲色激情| 色婷婷色综合| 激情五月综合网丁| 伊人激情AV一区二区三区| 丁香六月啪| 成人网在线视频| 五月丁香综合激情网| 小视频一区| 亚洲avjiujiur91| 亚洲欧洲另类| 99人碰碰碰| 五月婷婷七月丁香| 久久网婷婷| 热婷婷av| 就去色色五月丁香婷婷久久久| 中文字幕乱码亚洲精品一区| 91chinese在线| 99久久性爱| 婷婷色中文字幕| 中文字幕av在线| 亚洲无码11| 秋霞AV淫| 五月丁香激情婷婷| 超碰9| 丁香九九九九| 大香蕉婷婷色| 99日本精品视频热| 九九亚洲视频| 天天干夜夜想| www.99在线| 色999亚洲人成色| 91丨九色丨白浆秘| 操操人人| 久热9| 成人天天爽| 欧美日韩AAAAA| 丁香婷婷久久激情| 丁香婷婷五月六月天| 午夜青草资源| 亚洲99在线| 久久99性爱视频| 婷婷五月天综合在线| 中文AV网| 9久精品视频| 五月婷婷综合在线| 国产欧美性成人精品午夜| 乱乱av| 1769在线观看欧美国产| 情一色一乱一伦一91A| 婷婷激情六月综合| 六月丁香婷婷色狠狠久久| 这里只有精品,日韩视频| 五月激情视频网| 天天爽天天摸| 色噜噜狠狠色综无码久久合欧美| 丁香六月激情| 日本狠狠干| 97成人操| AV成人在线播放| 激情欧美婷婷| 丁香五月天五码婷婷| 99爱在线观看视频| 97超碰人人操| 全部老头和老太XXXXX| 久久婷婷五月综合色和| 成人在线综合| 婷婷成人综合免费视频| 成人电影丁香六月天| 激情久久久久久久久| 人人草人人舔| 日韩久久日| 色狠狠999综合| 激情欧美婷五月| 五月花在线观看视频| 91日本在线观看| 欧美三9久九观看| 丁香五月电影院在线观看| 99久久久国产大片| 丁香婷婷在线| 91热爆在线| 开心色色五月天综合| 婷婷五月激情的图片| 色五月激情五月丁香五月婷婷啪啪综合 | 狼人狠狠操| 五月丁香六月婷婷不卡免费无码 | 97人人操人人插| 色婷| 色五月综合激情| www激情| 亚洲综合欧美色丁香婷婷888月图片| 97碰久久| 思思精品热在线| 五月天另类激情在线| 97超碰在线观看免费| 五月天激情综合网站| 国产午夜一区二区三区| 26uuu成人网| 丁香五月天婷婷91| 日日婷婷不卡| 99久久久久| 婷婷丁香黄色| 亚洲视频在线观看99| 99操免费视频| 丁香狠狠色婷婷久久无码视频| 色综合夜夜| 婷婷五月天狠狠色| 日韩综合成人| 精品五月视频婷婷在线观看| 中文av网站| 久久婷婷九月国产精品| 99热精品在线| 日本色综合| 爱穴久久| 色婷婷深爱五月| 久久作爱| 久久码久久无清| 日韩综合大黄| 国产精品国产成人国产三级| 丁香婷婷网| 激情九九六月激情免费视频| 丁香婷婷五月天成人| 日本五月丁香| 五月婷婷综合视频| 91精品久久久久| 色五月婷婷天堂| 激情综合网激情五月欧美| 成人丁香| 亚洲精品国产成人AV在线| 精品人妻一区| 色综合播放| 丁香五月六月激情| 色伦专区97中文字幕| 久久五月天婷婷视频| 超碰人人射| 99久re热| 久久最新色| 亚洲婷婷丁香五月| 婷婷开心五月| 艹色18p| 婷婷王月天影院| 99cao婷婷| 五月激情黄色小说| 日B日潘金莲BB| 婷婷五月天第四色| 婷婷六月激情综合| 丁香五月综合在线播放| 日逼影音先锋男人AV资源站| 人人色AV| 五月天婷婷婷| 五月激情综合深爱| 熟妇天天综合| 欧美色色网| 婷婷激情五月视频| xxxx久| 久久婷综合| 天天做夜夜爽| www.99热国产| 久久一级AV| 欧美成人精品一区二区| 婷婷黄色网| 五月亭亭狠狠| 精品99在线看| 天天激情站| 男人天堂伊人五月丁香| 五月天婷婷情色| 婷婷综合中文字幕| 亚洲欧美另类在线23p| 狠狠 久久| 激情五月综合网| 久久永久视频| 色婷婷基地| 婷婷免费无视频| 日韩美一级毛卡片| 五月婷婷激情网| 碰碰91| 色婷婷五月天| 五月丁香六月婷婷亚洲视频| 久久99久久久| 国产亚洲色婷婷久久99精品91| sesesesezonghe| 夜夜爽77777妓女免费下载| 婷婷丁香激情五月天色色| 国产黄色av| 日本欧美在线| 色婷婷六月综合| 色开心五月丁香| 99色色网| 婷婷日日天天| 射琪琪| 91精品久久久久久综合五月天| 蜜臀av在线成人电影| 五月天丁香综合在线| 噜噜噜狠狠色综合| 婷婷播播五月天| 98永久精品| 色婷婷影视| 丁香狠狠色婷婷久久无码视频| 久久婷婷五月综合色奶水99啪| 99热思思| 99热首页| 人人干av| 操你av| 青青草原亚洲天堂| 婷婷丁香五月天综合激情| 免费国产视频| 国产五月婷| 超碰99热精品| 久久在线视频免费观看| 99热这里都是精品| 色久婷婷网| 婷丁香五月天| 丰满女老板BD高清A片| 开心激情综合| 性 色 婷婷| 亚洲超级碰| 亚洲精品第一色色色色色色| 变态另类9| 性色视频| 亚洲人人96@| 99久久www| 中文婷婷狠狠| 91久久久久久| 五月丁香六月激情综合| 日日夜夜爽爽| 婷丁五月| 色99在线观看| 国产亚洲99久久精品熟女| 亚洲精品婷婷| 婷婷五月天网| 天天日天天操天天干| 婷婷放心五日爱| 婷婷爱五月| 亚洲AV无码电影| www.色五月| 九九综合| 久久激情网| 26uuu亚洲欧美| 色色啊| 丁香色色网| 成人在线日韩欧美| 日本丰满久久| 免费无码毛片一区二区A片| 激情五月天丁香| 婷婷五月天福利| 色色色色色色色色色色色色色色,网站| 精品99久久久久成人网站免费| 九洲一级A片| 99re免费视频| 婷婷六月成人| 99热在线观看| 色婷婷五月天| 激情五月久久| 亚洲天堂热| 综合一区二区三区| 思思热在线视频精品| 亚洲综合丁香五月天| 日本九九热| 丁香花五月天| 天天做天天要天天爽| 777久久精品| 五月情丁香色| 亚洲第一色网站| 丁香六月天AV| 另类五月婷婷| 思思视频这里是精品| 丁香五月婷婷啪| 色八月婷婷| 天天日综合网射| 丁香五月婷婷少妇| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 四季日韩AV无码综合| 亚洲AV成人一区二区在线观看| 97干干干丁香| 99婷婷精品推荐在线视频| 欧美性生交XXXXX无码小说| 嫩草AV久久伊人妇女超级A| 99精品国产在热久久| 97精品人人A片免费看| 成人精品视频99在线观看免费| 亚洲乱码日产精品BD| 色伦专区97中文字幕| 综合色、色综合| 97色精品视频| yiqicaoav| 欧美日韩国产一区| 九九热99视频| 九月丁香婷婷综合激情| 九九热这里精品| 丁香婷婷五月六月天| 亚洲色婷婷五月| 天天激情欧美美女| 色婷婷88| 天天操天天操天天操天天操天天操 | 婷婷国产日本欧美| 97色色色色色色色色色色色色色| 色婷婷五月天综合网| 色综合色综合色综合色综合| 婷婷五月天Av| 成人在线视频网| 日韩在线观看网址| 看逼中文字幕| 网色99| 色噜噜狠狠色综合日日免费| 99热精品6| 欧美性色视频| 青青草成人网| 久草婷婷在线| 激情综合色婷婷啪啪六月天| 97人人射| 另类小说五月天激情| 成人va在线播放| 日韩色色视频| 五月综合激情啪啪啪啪啪| 伊人大香蕉在线视频| 色情综合网| 婷婷娱乐丁香综合网| 五月天激情综合网| 九九Av| 91性人人| 日本本土色网第一区| 99re鈥哸鈥唙| 激情五月综合| 婷婷色五月综合| a九九热www| 五月天全国最大成人网| 五月婷婷,狠狠操| 少妇性按摩无码中文A片| 激情五月天福利| 天天操天天爱天天日| 久久久久久丁香五月| 日韩一级片| 六月婷婷天堂| 四色综合网| 五月花在线观看视频| 337p大胆噜噜噜噜噜91Av| 超碰激情五月| 五月六月丁香婷婷在线观看| 久久激情网| 精品香蕉99久久久久网站| 97婷婷丁香| 涩涩婷婷五月| 99热网站| AV免费在线网站| 色婷婷成人影片| 99精品一二三四视频| 色欲色欲久久宗合网| wwwss在线观看| 久久婷婷五月免费视频| 99热亚洲| 91视频精品99| 精品国产va久久久| 少妇高潮呻吟A片免费看软件| ′久久99一| 国产一级片色色| 久久五月婷婷电影| 九九99香蕉在线视频播放| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | www夜夜操com| 夜夜骑福利资源| 综合婷婷| 五月玖玖| 99久视频| 亚洲在线网站| 色五月天综合| 色噜噜狠狠色综合日日| 亚州色综合| 色婷婷亚洲在线| 日日夜夜狠狠| 亚洲小视频免费播放| 久久综合影院 | 婷婷五月天综合中文| 激情丁香五月| 九九热超碰| 爆乳熟妇一区二区三区爆乳照片| 亚洲影院婷婷色| 五月丁香激情六月| 99ER热精品视频| 色五月婷婷丁香国产在线| 五月丁香影院| 大香蕉网站,大香蕉综合| 99网99热| 9 9 9色色| 六月婷婷在线| 婷婷综合久久综合| www.激情五月天com| 日本不卡高字幕在线2019| 玖玖色资源站| 婷婷久草| 老司机午夜福利视频金瓶梅| 欧美成人A片AAA片在线播放 | wwccc久久久| 99在线精品免费视频| 五月激情精品视频| 啪啪综合网| 欧美99热| 98国产精品综合一区二区三区 | 97碰人人操| 99九无网码| 婷婷五月情|