日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
欧美aⅴ99久久黑人专区| 天天92av| 日本一区二区成人在线| 啊啊啊啊啊好大好舒服想要| 午夜精品人妻二区三区| 丁香九月婷婷| 91撸色网 玖玖网 欧美| 91亚洲黄色网| 极品综合| 97欧美综合网| 高清一区AV无码| 天天综合网久久ww| 青青操综合网| 久久久久网站-538在线视频-欧美永久乱码 | 夜夜 中文视频rt| 91天天美女| 秋霞午夜视频一区二区| 91亚洲欧美综合高清在线| 中文字幕国产| 蜜桃狠狠色伊人亚洲综合 | 色综合久久夜色精品国产天堂 | 麻豆人妻偷人精品无码视频| 中文色综合| 3028国产精品| 欧美网站免费| 中文字幕av一区二区三区人妻少妇 | 青青草自拍视频在线播放| 亚洲AV乱码专区国产噜噜亚洲| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 99在线精品观看视频中文| 女优视频第10页| 亚洲性天堂| 欧美亚洲宗合色性图| 中国东北熟女老太婆内谢| 一本色道熟妇| 十八禁一区二区无码观看| 强奸a片网| 久久久久日本视| 亚洲色图超碰在线| 大香蕉九九| 色五月综合网| 天综合网| 蜜乳av首页| 99热在线观看| 五十路人妻在线| 九色视频91| 久久久久亚洲三级电影| 老熟女91| 狠狠入| 75大香蕉| 久久人妻办公室视频| 欧美特大黄一级片片免费| 中日韩免费看男女操逼大全| 美女天天干| 狠狠操狠狠操操| 夜夜精品视频| 搡老女人老91妇女老熟女| 超碰97COm中文| 色婷婷日韩精品一区二区三区| 人人搡人人肉久久精品| 99只有精品| 久久久久久久久久久久欧美日| 三级网站超变态精品| 狠狠色一区二区中文字幕| 丁香六月激情综合| 密臀在线免费观看| 97碰碰色| 免费国产视频| 思思久热在线精品66| 午夜a成v人电影| 青青操少妇| 丝袜综合色图| 欧美黑人性猛交91| 亚洲欧美激情另类色图| 青青草AV色| 成人性交午夜免费片| 亚洲欧美另类少妇精品| 欧美小说区视频区| 97超级久久| 成人精品久久| 亚洲成人久久美女| 日本不卡二三区| 日日日啊啊啊| 日本最新1区2区3区| 亚洲丝袜综合| 看一级特黄a大一片| 日韩AV无码中文一区二区| 亚洲天堂人妻一区二区| 日本久久999| 屁股久久久久久久久| 天堂69亚洲精品中文字| 亚洲情色五月天 | 九九九网页| 在线洲亚线| 久久久久久9| 思思性爱| 久久一区,青青青青草视频在线播放| 欧色网址| 精品少妇一区二区三区在线视频| 色综合网1| 91中文精品日韩欧美在线 | 亚洲AV无码国产成人| 最新9久久久9免费视频| 久久久久久大| 91大胆欧美| 欧美第五页| 国产精品嫩草影院午夜两性| 加勒比在线视频| 欧美色宗合| 青青青艹在线视频| 日韩 女同 综合| 99婷婷| 中国少妇啪啪视频| 99热色这里只有精品| 亚洲男人的天堂AV| 亚洲成a人v欧美综合天堂下载 | 久久老女人| 大香蕉在线SuP| 日本精品一区二区中文字幕| 欧美亚洲另类在线蜜桃| 91+欧美| 91精品人妻| 欧洲小说色图视频另类| 又大又白奶子| 婷婷色婷婷| 日韩无码服务区| 手机在线观看不卡无码av| 国产av白丝| 国产女人和拘做爰视频 | 亚洲色图欧洲| 9.1小视频| 日曰骚久久精品| 97超碰色屌| 色色香蕉| 欧美人妻少妇| 射欧美综合| 日本精品成人无码| 丁香六月激情| 冬京热男人的天堂| 91狠| 99亚洲精品| 欧美日韩在线国产在线| 97超级久久| 亚洲Av噜噜一区二区三区妖精| 中国探花熟女| 婷婷五月色| 97久久久久久久精| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 久久久久久久久久久久97 | 国产综合网站在线播放 | 操B视频日韩无码| 亚洲欧美色图片| 狠狠入| 亚av顶级裸体一区二区三区四区五区| 天天综合网91入口| 九九九九九用不成了| 成年女人18级毛片毛片免费观看| 屌逼传媒| 家庭乱伦网站国产| 欧美人妻久久精品二区三区 | 欧美东京热精品A∨| japan日本高清乱xxxx| 午夜一级免费毛片| 天天谢天天干| 乱伦一二三区| A 天堂| 色婷婷小说| 91无遮挡| 人人摸.人人色| 久久国产在线一区二区| dy888午夜老子影视达达兔| 日本αv| 欧美亚洲日本视频久久久| 日韩欧美成人性爱在线| 99热这里只有精品8| 青青草视频这里只有精品| 久久久久久久9| 亚洲色系另类精品国产| 神马久久久久眼| 久啪视频| 天天天干977| 99久久9| 97亚洲欧美日韩| 玖玖久久久| 蜜臀无码一区二区| 美国黄片aaa| 激情五月天视频| 99re在线视频这里只有精品| 亚洲国产精品成人综合| 黄色香蕉视频网站一区| 黑丝少妇在线观看| 91精品国产一区三一| 老熟女乱伦一区| 99热免费| 乱伦日本中文自拍| 麻豆久久久一区二区| 久久久999国产| 九九热AV| 天天综合精品| 操操操五月天婷婷丁香影院| 欧美黑人与女人91~| 亚洲欧美日韩偷拍色图| 嗯嗯嗯不要不要免费视频| 97亚洲综合在线| 人妻系列无码专区中文有码| 日本高清一本二本免费不卡| www网站黄| 午夜啊啊| 看黑丝美女操逼青青网站| 18禁看网站一区| 色九月综合| 特级毛片特黄久久免费看| 久久久免费懂色| 玖玖资源综合在线视频| 国产精品96久久久久久| 伊人久久大香蕉线AV五月天| 亚洲欧洲日韩国产自在线| 亚洲第一男人天堂| 青娱乐日韩无码| 国产精品爽爽va在线观看98| 免费试看60秒| 99re6在线视频播放免费精品| 丁香五月综合| 日韩人成网站在线播放| A 在线网址| 天堂亚洲精品| 中文在线视频| 精品久久久久黄少妇| 99久久婷婷丁香| 超碰色老头| 精品久久久不卡一区二区| 亚洲精品97在线| 麻豆国产精品午夜视频| 欧美色图亚洲色| 91无码人妻| 日韩亚洲美女一区久久| 青青草日本中文字幕 | 久久夜色一区二区| 无遮挡男女激烈动态图| 亚洲第一色页夜| 爽 好舒服 无码刺激久久| 大香蕉伊人亚洲| oumeisetu综合| 欧美三级中文字幕hd| 国产精品盗摄 偷窥盗摄| 视频不卡中文字幕| 人妻少妇久久中文字幕一区二区 麻豆 | 91肉丝| 亚洲九九九| jazzjazz国产精品麻豆| 超碰在线第一页| 国产精品一区二区麻豆| 后入国产| 免费啪啪av| 99久热精品99re6热| 久久婷婷五月天| 免费成人在线熟妇网| 亚洲综合色在线| www.亚洲黄色| 91天美传媒在线观看| 亚洲天堂一区| 91社操逼| 97人人中文网| 白嫩嫩一区| 国产精品久久久九九九| 精品欧美老熟女一二区| 丁香五月婷婷啪啪| 伊人性在线视频| 国内精品99999| 国产精品久久久久久久无码AV| 欧美亚涩| 精品妇女一区二区三区| 美国三级日本三级久久99| 99精品无码| 亚洲熟久久| 91AV老熟女视频| 国模限制级电影| 精品人成视频在线观看| 伊人激情五月天一区二区| 97色色婷婷| 啊啊啊啊啊啊啊网址在线观看| 99热精品青草在线 | 色综合99999| 97欧美色综合| 岛国片国产成人亚洲播放| 久久极品一区二区| 日本色日夜干| 亚洲欧洲偷拍一区| 欧美人妖内射| 91成人久久 | 尤物av网站免费在线播放| 欧美系列在线一区二区| 亚洲综合图文| 日韩免费看在线黄色片| 久草色悠悠在线视频| 国产成人在线观看网址| 久极品在线观看| 91福利网在线观看| 中文在线久久字幕| 欧美性爱三区二区| 久久超碰av在线| 欧美性爱第一区| 中文字幕在线免费观看2| 狠狠干婷婷| 青青草一区二区三区四| 黄aaaaaaaaaaaaaaaaaa色网站| 午夜精品99久久久久传媒| 亚洲色综合| 久草色悠悠在线视频| 久久欲| 日本精品免费一区二区三区四区| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 亚洲精品九九九| 国产农村一一级特黄毛片| 影音先锋一区二区在线资源| av三级电影在线播放| 天天射网| 91大神精品长腿在线观看网站| 中文字幕大片三级狠狠干| 97色在线视频| 精品国产国产AV| 亚洲?V无码专区在线电影| 另类av天堂| 18禁免费视频| 亚州欧美在线| 香一区二区三区| 大香蕉乱级| 免费国产| 97中文天堂| 人人爱人人乐人人操| 亚洲日本韩国极品一区二区| 搡老女人老熟女91| 久久日本熟妇熟色高清| 国产做?爰片久久毛片?片美国| 亚洲 日本 不卡| 欧美三级中文字幕hd| 久久国模av| 色婷婷六月| 一级做a爰片性色毛片久久| 91真人天天在线| 熟妇人妻一区二区三在线| 约操熟妇| 深爱五月天| 日韩久久.一级黄色片| 亚洲无码太久| 久久性爱大全| 色女网日韩| 日韩精品大香蕉伊人在线| 亚洲清纯唯美| 啊啊啊操死我| 欧美欧美少妇| 偷拍三区| 亚洲av在线免费观看| 97精品视频免费| 亚洲素人综合| 国产真乱mangent| 五月丁香色色网| 欧美99| 91路www| 亚洲中字幕日本一区二区三区| 日韩中文字幕人妻视频| 熟妇熟女亚洲天堂网| 台湾佬中文娱乐自偷自拍| 综合天天。| 免费少妇一区二区| 国产精品天美传媒| 99超碰网| 欧美强奸乱能| 青青草大香蕉在线视频| 屁股久久久久久久| 91free福利| 九一国产精品| 最新AV在线| 色拍偷亚洲| 超碰99热中文字幕| 欧美激情视频一区二区三区不卡| 狠狠狠一区二区三区| 综合国产影视三级| 成人av福利在线观看| 亚洲成人帖图| 国产精品suv一区| ss久久| www.婷婷六月天| 能看的AV| 欧美系列在线一区二区| A级国产欧美激情在线| 97资源久久| 色九久| 欧美东京热青青草| 国产亚洲精品美女久久久| 日韩成人精品| 国产在线不卡导航| 日日爱99| 国产福利精品最新在线| 亚洲高清少妇| 无码av永久免费专区网站| 亚洲图片欧美制度| 岛国片在线视频网站| 五月天激情网图片| 999热日韩精品| 日本性爱不卡视频| 91精品人妻五十路| 图片区小说区| 久久中文字幕女同性恋一区| 国产视频人人网| 天天日老熟妇| 亚洲国产精品无码AV久久| 丰满人妻-区二区三区免费| 后入精品| 久久久亚洲精品电影免费看| 免费A片三p视频| 99操99| 99re这里只有| 久久99黄色卞西瓜| 亚洲一本大道中文字幕无码在线| 日韩97超碰| 天天超级碰碰碰| 天天操天天射青青草| 在线日韩日本亚洲国产| 嗯嗯,好大,好爽,好骚| 日韩国产乱子伦App| 超碰色97| 亚州 综合 色图| 五月天黄色激情视频| 青娱乐福利99| 91精品人妻一区二区三区蜜桃臀| 在线中文字幕视频| 骚乳在线| 殴美在线AⅤ| 日本高清一本二本免费不卡| 成人网址在线观看| 美女久久久久久久久久久| 色色色综合网| 国产精品高潮呻吟av久久4虎| 美女黄页| 国产欧美日韩一区二区三区| 日韩国产中文字幕| 亚洲无码成人精品| 亚洲色香| 午夜传煤十二区精品| 久久av网| 大香蕉综合久久| 亚洲精品色| 一区中文字幕二区日韩| 中文字幕片| 欧美综合色站| 91欧美美女日韩国产婷婷| 精品超碰中文在线| 夜夜夜久久| 激情AV| 天天影视亚洲| 好色综合| 日韩啪啪视频| 青青青草伊人精品| 久操高青| 久久久com| 蜜乳视频网站| 蜜乳成人AV| 欧美乱妇狂野欧美在线视频| 少妇超碰在线| 国产福利av精彩对白| 成年无码动漫av片无尽在线| 91色伦| 一区二区三区男女操逼黄色小电影| h4610国产人妻| 欧洲久久一二线| 午夜精品人妻二区三区| 中文字幕精品人妻丝袜| av凤凰久久久| 日本东京热加勒比久久| 亚洲高清欧美总合| 操曰本熟女| 91女在线观看| 无码少妇精品一区二区60岁老人| 很很操在线| 亚洲资源站| 欧美性五月| 精品十三区| 国产成人网| 三级三级三级a级全黄三| 日韩精品中文字幕人妻| 精品欧美乱码久| 久久人妻少妇| 99热这里只有是精品10| 99成人| 伊人色综合网电影| 亚洲第一无码播放立川理惠| 尤物网址| 一个国产在线综合网站| 国产无吗在线播放| 97这里只有精品| 精品中文一区二区| 狠狠躁天天躁日日躁| 4141514逼喷水三级片| 五月香婷婷| 婷婷五月天丁香花| 97天堂| 天天色粽合合合合合合合| 久草福利在线资源站| 国产精品宅男免费| 51一区二区三区| 欧美日韩一区二区三区四区蜜桃| 人人么人人操| 亚洲精品尤物yw在线影院| 欧美自拍偷拍综合图片| 国产成人 综合亚洲 天堂| 日韩黄色片子| wwwxxx日本爽| 久久在线观看免费视频| 成人乱人伦一区二区| 亚洲免费在线探花| 午夜精品五区| 全球成人中文在线| 无套内射性感少妇视频| wwwxxx日本爽| 女人喷水视频在线观看| 婷婷午夜| 久久久精品日本一道| 98色网| 国产少妇与亚洲av| 99啪啪视频| 97视频7| 麻豆精品三区视频| 东方亚洲在线操逼天堂| 男女香蕉一区二区| 中国91AV| 久久久久久久强迫| 免费一级黄色录像影片| 日本肉体xxxx裸交| 亚洲麻豆精品二区三区| 99操| 大茄子熟女AV导航| 一本色道人妻久久| 999久久久免费精品国产牛牛| 欧美激情性久久久久久| 国产亚州精品美女久久久免费| 成人免费福利在线观看| 嗯嗯啊啊视频在线看| 国精品一区二区三| 日韩青久久| 午夜超碰| 亚洲欧洲av影音| 51一区二区三区| 九九碰九九爱97| 宗合情欲网| av东京热男人的天堂| 午夜噜噜噜| 欧美天天性| 极品美女福利在线观看| 大鸡吧尹人在线| 超碰午夜| 亚洲一区在线观看欧洲| 日本午夜久久电影| 一级黄碟在线观看| 97久久久网站| 亚洲一级特黄大片在线播放91| 香蕉久久国产AV一区二区| 国产超碰国产97| 欧美高清在线| 97狠狠| 国产亚洲精品美女久久久m| 日本欧美国内在线| 91欧美另类| 另类图片天天影视| 亚洲高清无码免费观看视频| 天天舔九色婷婷| 91网站18禁| 久久国内| 欧美一级专区免费大片| 中文乱码字字幕在线第5页| 爱媛媛久久国产福利| 亚洲视频,小说| 加勒比综合在线| 久久精品国产亚洲AV嘿嘿| 婷婷伊人一区| 色综合加勒比| 东京热男人的天堂网| 9九九国产| 国产精品黄色三级av| 黄色成品网站| 欧美色狠| 久久久五月天| 五月天人妻综合| 手机在线A片| 97色视频在线| 无码操逼视频一下| 夜夜操二区| 99热婷婷一区二区三| 色翁荡息又大又硬又粗又爽| 久妇网| 久久精品一区二区一8| 志村玲子视频一区二区| 亚洲激情在线| 国语av最新自产拍在线观看| 97bbn| 超碰无码加勒比| 大香蕉宅男伊人| 欧美十八禁视频| 天天天乱色综合全| 老外又粗又长一晚做五次| 中文字幕日韩精品一区二区三区| 日本黄色精品专区网站| 91新在线欧美| 岛国免费黄色网址| a片亚洲一本通视频| 狠狠中文字幕| 亚洲综合 欧美| 日韩性爱再线视频| 美女丝袜激情小说| 巨爆乳肉感一区二区三区竹菊影视 | 精品久久久久,69国产成人精| 亚洲人妻五月丁香婷婷| 91蜜臀在线久久久久| 国产女人视频三四五区| 嗯嗯啊啊亚欧精品| 欧美性生活免费网| 97超碰免费生活| 国产精品午夜高潮呻吟久久av| 老司机福利社视频在线观看| 亚洲va有码在线天堂| 亚洲 欧美 综合 91| 国产精品久久久三级无码| 欧美九九九| 免费看美国人人爽,人人操| a男人的天堂久久一级A毛片| 啊啊啊不要好爽日韩无码一区| 人妻系列无码专区中文有码| 婷婷10月天青娱乐| 超碰 另类 欧美 | 亚洲情色综合网| 久久草大香蕉| 日本熟女不卡视频| 97在线欧| caopeng97| 亚洲AV秘 精品久久老牛影视| 激情文学小说一区二区 | 日韩精品第3页| 国产日韩区| 大鸡巴久久| 中文字幕片| 自拍偷拍 日韩无码| 大香蕉手机在线| 亚洲美欧999| 大伊香蕉在线视频免费| 91视频精品| 免费99精品国产自在在线| 亚洲91少妇| 国产探花精品在线| 久久久中文| 美女网站黄页| 亚洲色图 欧美热图 清纯唯美 另类自拍| 在线观看AV片| 福利视频香蕉免费一区二区在线| 国产精品九九| 操逼内射干逼白丝91| 欧美精品日韩久久久九| 久久久久久97| 国产少妇内射| 啊啊啊97视频| 丝袜美腿欧美| 国产操操日韩三级黄| 3PAV乱伦视频| 欧美综合天堂| 日韩精品影视| 2000亚洲男人天堂| 亚洲精品一区二区三区新线路| 天天躁日日躁AAA片李宗瑞| 日韩无码操逼片| 1240青青草一区二区三区视频天爱| 免费看污网站| 青娱乐久久艹| 综合欧美激情网| 四虎午夜影院| 日韩无码极品| 无码78| 国产视频小说| 亚洲国产综合久久天堂| 99视频只有精品| 成人三级片无码| a天堂视频| 巨爆乳一区二区爆乳区| 色综合国产在线观看| 欧美亚洲91| 日韩本不卡视频在线观看| 亚洲色悠悠久久88| 中文字幕片| 男人天堂站| 男人的天堂2010| 日本免费中文一区二区三区四区| 国产精品视频白浆免费| 伊人久久综合精品欧美| 综合激情二| 国产探花日韩援交| 伊人网青青| 波多野结衣AV无码一区| 可免费观看的av毛片中日美韩| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 久久久性| 超碰2017| 亚洲av成人精品一区| 日韩 国产 欧美自拍| 国产精品视频自拍在线| 成人亚欧免费视频| 婷婷亚洲综合| 狠狠狠一区二区三区| 91色黑人少妇| 中出后入| 夜夜嗨一区二区三区直播内容| 天天肏天天干| 成人无遮挡毛片免费看| 久草国产在线视频| 久久精品国产免费观看99| 免費黃色視頻觀看一| 色五月网址| 五月婷婷综合网| 精品妇女一区二区三区| 亚洲伊人久久精品狠狠在线| 五月婷视频| 男人的天堂在线有码| 在线女人91| 情侣开房子拍 日韩无码 女的很漂亮| 欧美日日人人天天| 国产欧美成人精品| 啊好爽受不了无码| 又大又白奶子| 夂久色| 日本久久久久久久久| 精品一区二区成人| 亚洲中文一区二区三区| 自怕偷自怕亚洲精品| 久久草草亚洲蜜桃臀| 国产精品熟女九色九色蜜臀| 免费啪啪av| 久久久久97| 久久久久久电影| 黄色欧美性爱视频| 岛国福利在线精品播放| 巨爆乳一区二区爆乳区| 日本在线一二| 青娱乐蜜桃臀AV色婷| 999九九九九国产动| 一级黄色性爱裸体视频| 人人妻人人爽一区二区三区| 夜夜夜夜久久久久| 高清国产性猛交xxxx乱大交| 丁香五月天啪啪| 亚洲有码第一页| 老熟女阿 国产91| 在线播放免费av福利片| 99激情视频| 欧美午夜视频| 不卡中文字幕aⅴ在线| 91欧美高清| 99rre在线精品99re8| 人人看人人插| 天天干一区二区| 亚洲色婷婷综合久久一区二区三区| 三级精品三级在线观看| 嗯嗯嗯嗯啊啊啊好紧好大| 青青青在线高清视频在线一二三四区| 精品毛片久久久精品毛片| 久久久9视频| 日本天天干天天操一区| 人妻天堂综合网| 夜夜欢天天干| 插入综合网| 熟人人妻少妇精品久久| 影音先锋国产精品| 97ai亚洲| 欧美在线官网| 日韩综合成人免费视频| 干B| 欧美人妻一区| 人伦四五区| 99爱在线视频| 欲香欲色| 亚洲精品黑丝| 欧美熟爽综合| 五月丁香六月综合缴清无码| 美女91在线观看| 乳欲人妻办公室奶水| 九久久精| 久久国99999| 色综合久| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 一区,二区,三区视频| 国产又操| 亚洲熟伦熟妇AV无码春色| 诱惑人妻欧美一区在线播放| 国产精品嫩草影院午夜两性| 欲香欲色天天天综合和网| 超碰99在线观看| 国产日韩在线播放av| 蜜臀99久久国产| 欧洲天天在线| 国产成人精品日本亚洲语言| 91丨国产丨白浆秘 洗澡动漫| 国产精品丝袜久久亚洲不卡| 91婷婷伊人狠人| 91干熟女| 100啪啪视频大全| 亚洲熟女一区| 日本一区二区电影网站| 亚洲精品日日夜夜52| 国产黄色在线播放观看| 色噜噜日韩精品| 色999偷自拍拍| 强上我不卡卡| 国产视频三区四区| 亚州伊人色综台| 91丝袜美女国产| 91天堂色男人的天堂| 亚洲好看强奸乱伦| 成人性爱AV在线免费观看| 男人的午夜天堂| 精品无码少妇| 亚洲色婷婷综合久久久久中文| 97超碰这里只有精品| 91中文精品日韩欧美在线| 97超碰色屌| 磁力99AV| 伊人网在线观看| 91在线免费观看处女| 情色av电影| 黄网站黄视频网站进入口| 怡春苑东京热| 亚洲人91| 久久精品国产精品| 亚州欧美在线| 91天天看| 国产一区在线观看无码AV | 精品九九| 在线观看成人性爱免费小视频| 思思性爱| 中文字幕啊啊啊在线观看视频| 曰韩无码777| 伊人影院中文字幕| 2017大香蕉国产精品久久| 天天碰久久入| 欧美日韩插逼视频| 欧美 日韩 亚洲 春色| 亚洲天堂久久| 国产精品91ai| 97在线公开视频| 久久精品人妻一区| 韩国女主播青草福利视频| 欧美爆操91| 日天天九九天堂666| 国产最火爆久久国产网站网站| 少妇无码av专区线| 成人国产精品三级A片| 久久久噜噜噜久久久| 成年人免费观看网站| 蜜臀99久久| 性爱av网站| 欧美色图私拍91| 丰满人妻-区二区三区免费看| 欧美自拍偷拍综合图片| 亚洲综合网电影91| 免费成人在线熟妇网| 大香蕉中文在线| 极品极品色影院| 青青草狠狠撸| 午夜激情成人在线观看| 欧美性特| 在线中文字幕视频| 九月婷婷综合| 国产白丝AV| 欧美日韩国内不卡| 国产熟女精品区| 国产美女裸体秘 永久无遮挡| 久久久久久久久久久久久9999| 天美传媒AV在线| 婷婷综合网| 性生活性生大爱77AV国产| 日韩乱插| 久久久无码视频| 色色色999| 丰满人妻一区| 色综合色欲色综合色综合色综合| 蜜桃午夜视频一区二区 | 国产Av超碰| 午夜综合在线| 天天爱天天操| 久久国产AⅤ| 久久久久久91香蕉国产| 黄片国产精品一区二区| 青青草导航在线视频| 国产精品大香蕉| 久久久久久九九九| 久久一二三级一一一| 国产大陆天天艹| 国产suv精品一区| 色月天AV导航| 一级aaaaa欧美中文字幕录像片| 综合色久欲| 亚洲精品丝袜| 欧美久热| 中国AV美女| 五月天人妻综合| 国产又黄又猛又粗又爽的网站| 成人av影院在线观看| 日韩电影中文字幕| 97干com| 国产在线视视频有精品| 无码久久国产 | 一二三啪啪专区| 欧美日韩国产三级黄色| 日日摸天天爽夜夜欢| 欧美 综合 亚洲| 麻豆影音天美视频| 九九在线视频| 久久久久久精品免费看A级| 亚洲国产精品无码AV久久久| 欧美美女视频| 欧美综色欧| 欧美91丝袜| 校园春色综合色| 欧美日韩夜夜| 色色色欧美| 久久久久婷婷| 婬女免费一二三区A片| 偷拍自拍在线视频观看| 成人26uuu| 操逼无码操逼| 欧美日韩国产另类综合| 国产精品免费1区2区视频| 色噜噜国产精品视频一区二区| 精品人妻视频一区二区在线播放 | 9久久久久久| 色97干| 国产无码精品成人| 国产精品久久天天干| 欧美福利视频啊啊啊啊| 91人妻人人澡人人爽人人精品| 中文字幕第9页萱萱影音先锋| 欧美亚洲激情| 夜夜草天天| 色成人Www精品永久观看| 日本中文字幕在线视频| 五月丁香影院| 最新亚洲风情电影| 久久有码视频| 秋霞Av理论一级在线| 曰韩中文人妻视频| 精品中文字幕第一页| 日韩中文字幕视频在线观看| 无码日韩网站| 91亚洲不卡一区| 久久综合av| 蜜臀99久久| 一级二级三级黑人无码| 97任你吞精| 绯色AV粉色AV蜜臀AV| 亚洲成人AB| 精品国产一区探花在线观看| 亚洲无码免费看| 久久久久精| 欧美在线啊啊啊 | 怡红院怡春院| 久久久久99999| 亚洲砖码砖专无区2023| 宅男91视频在线播放| 人妻熟女一区二区三区视频| 人妻少妇久久中文字幕一区二区 麻豆 | 小说区 图片区色 综合区| 在线观看色视频| 久久中文色图| 久久精品熟妇丰满人妻99| 强奸乱伦αv片| 亚洲少妇在线影音| 亚洲另类春色| 乱精品一区字幕二区| 婷婷综合伊人一区| 九热视频| 大香蕉伊人75| 色五月婷婷网| 久久丝袜| 欧美制服网站美腿丝袜| 性夜影院爽黄A爽免费动漫| 97干在线| 精品国产乱码久久久| 天天爽天天操| 蜜臀99久久| 嗯啊不要在线| 毛片久久| 久久超碰亚洲人| 日本性感人妻91| 九九九久久久久| 国产麻豆一级精品视频| 久久精品六区| 丁香五月激情网| 亚洲美女av无码| 大香蕉99热| 欧美日本一区二区a人| 最新AV在线| 性色高清在线| 成人性爱av.com| 亚洲熟妇A V黑人| 欧美乱妇狂野欧美在线视频| 国产av又色又爽又黄| 天美传媒麻豆一区二区三区国产精| 天堂精品在线| 成人小说另类在线| 日日AAvv| 亚洲欧美setu| 99久久婷婷国产综合| 亚洲伊人成综合成人网| 加勒比人妻综合| 人妻久热在线| 国产九九九九九九九九| 国产精品黑人一区二区三区| 亚洲精品蜜桃久久久| 97人人爱人人做人人乐| 粉嫩国产精品久久粉嫩| 操屄不卡视频| 精品无码欧美三级| 欧美色青| 国产精品久久久亚洲第一牛牛_在线观看| 精品国产一区二区久久| 丁香五月激情五月| 激情综合网五月婷婷| 久久精品国产99精品亚洲蜜... | 最新日韩黄片| 亚洲1区2区三区高清中文字幕| 成人av在线播放| 中文字幕高清精品一区| 天天插网| a片久久久久久久久久久久 | 久久伊人影院| 亚洲国产精品无石码久久| 人妻夜爽夜夜爽| 精品欧美日韩在线观看| 茄子社区国产精品| av久日| 九九九九九九视频| 精品国产乱码久久久久久日本公司| 欧美成人色| 丝袜av一区二区三区| 色哟哟av网址| 国产熟女高潮一区二区三区| 制服丝袜第二页| 精品一区二区三区蜜桃| 久久婷婷成人综合色怡春院| 91综合熟女| 在线A日本| 天天做日日爱夜夜爽| 婷婷丁香六月| 欧美色图私拍91| 亚州欧美总和| 天天综合中文字幕 91| 久久久久免费看少妇A片特黄| www.伪伪| 99精彩视频| 黄总AV色图| 麻豆区久久久久亚| 中文字幕丰满人妻日本| 天天色黄色影院天天操| 操逼操操操91| 中 文字幕一区二区三四 五 区日 日 骚 | 日韩去日本高清在| 久久的网站啊啊啊啊啊| 2019午夜福利视频| 亚洲人妻在线精品| 亚洲成?V人片在线观看福利| 国产精品久久久亚洲一区| 久久亚洲天天做| 一级AAA片一区二区三区| 国产一进一出视频网站| 国模精品一区二区三区苹果色戒 | 欧美激情亚洲色图| 熟女精品日韩一区二区三区| 一级黄色性爱A级片| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 校园春色亚洲无码| 国产品精品自在在线午夜免费| 亚洲αv一区二区三区| 大香蕉啪啪啪啪在线| 亚洲91在线| 天天看天天综合成人网| 精品免费囯产一区二区三区 | 日本东京热大香蕉a片| 97爱爱爱| 天天影视色香色欲| 啊啊啊爽爽| 九九在线精品| 啪啪啪男女亚洲中文字幕99| 人人考人人摸人人干| 91少妇通奸网站| 久久久久亚洲Aⅴ无码| 97就爱干| 久草视频分类在线| 91亚洲情色| www.狠狠操| 91 欧美| 欧美 日韩 国产传媒| 欧美大香蕉久| 色网1| 91GD.COM| 日韩在线国产字幕| wwe 天天干.com| 欧美黄色大片在线观看| 羞答答AV中文字| 伊人久久88国产女| 狠狠色伊人亚洲综合网站色| 欧美日韩亚洲五月天婷婷| 日本视频一区二区三区| 一二三区精品视频| 国产超碰在线一区| 国产成人精品日本亚洲语言| 91女日逼| 蜜臀99999| 五月婷婷六月丁香| 黄色片A级一区二区三区| 嫩草 我啊~嗯~在线| 国产精品一区二区在钱播放| 亚洲制服aⅴ中文字幕| 亚洲人妻久久| 狠狠爱AV| 青青青青草av在线观看| 午夜男人一级A片7777| 夜夜草我| 黑人性欧美| 综合网亚洲1| 久操在97| 国产精品 午夜福利| 亚洲丝袜二区| 国产成人精品日本视频| 色欲三区| gogogo免费高清看中国国语| 国产精品久久久亚洲第一牛牛_在线观看| 国产盗摄美女如厕大神作品在线观看| 日韩欧美视频青青| 床上啊啊啊一区二区三区| 手机在线视频国内精品| 精品亚洲一区在线观看| 亚洲欧洲av影音| 欧美精品三级黄片| 国产成人欧美精品在线| 中文字幕制服诱惑| 国产精品成人午夜福利| 成年人免费观看网站| 青女偷拍网| 天美传媒精品久久视频| 青青久日| 日本506070| 18禁在线视频| 26uuu性物| 狠狠激情综合狠狠操中文字幕| 欧美一区二区三区日韩| 国产热RE99久久6国产精品首| 色官网在线| 伊人97超碰| 天天色怡春院| 日韩欧美久久婷婷网站| 欧美色网络| www.色吧5.com| 黑人黄片在线免费观看| www.狠狠| 亚洲人妖网|