日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
富女玩鸭子一级毛片| 天天干天天拍| 麻豆60秒| 视频在线97| 国内毛片国产欧美拍| 成人日韩中文字幕| 亚洲精品91| 香蕉久久国产AV一区二区| 三久久久四久久久久| 丝袜av一区二区三区| 久久熟女嫩草成人片免费| 久久精品无码一区二区三区| 欧美黄片视频在线观看免费 | 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 久久久久久久久久8888| 欧美少妇一区二区三区| 日韩精品国模| 人人操人人摸人| 国产欧洲精品亚洲午夜拍精品| 国产日韩精品suv| 十八禁视频网站| 欧美亚洲涩涩| 97久久网| 精品大久久| 97在线观| 99热精品免费| 欧美色图自拍| 亚洲成人网站在线观看| www国产精品| 深田咏美亚洲精品福利社| 九九热视频这里只有精品| 99久久精品国产系列| 久操精品| 天天插天天舔舔天天干| 麻豆熟妇乱妇熟色A片在线看| ..日韩av毛片精品久久久| 9超碰免费| 9国产超碰| 国产女人成人精品视频| 四虎影视 亚洲无码| 天堂无码精品国产久| 97在线无精品| 国产亚洲精品自在线亚洲情侣| 欧美综合网1| 免费黄色A片| 久久一二三四不卡 | 99热超碰| 国产拍偷精品网站| 91殴美大片| 操日韩第| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 嫩草美女久久| 亚洲永久AV无码精品秋霞| 免费a级毛片av无码久久精品中文字幕| 99re视频在线观看这里只有精品| 老熟女91视频| av情色影音| 性色aV一区二区三区噜噜| 大香蕉丝袜一级片| 国产成人久久精品蜜臀| http://qxhbdz.com| 国内外毛片在线观看| 久久精品国产亚洲AV嘿嘿| 丝袜亚洲91| 99自拍视频在线| 久久精品黄色| 啊啊啊好湿久久| 日韩欧美午夜一区二区| 欧美美逼| 午夜久久一区二区无码中出| 久久久久久AV无码免费网站| 水多多映视AV| 麻豆一区二区AV天美| 五月天春色激情网| 操99| 日韩性爱1级片视频| 欧美综合狠| 裸体美女免费看网站青草| 69av一区二区三区| 成人久久久精品| 99免费视频| 亚洲天堂男人| www.男人天堂| 色婷婷丁香五月| 日本加勒比无码专区| 97亚洲资源| 少妇滛荡视频| 中文字幕精品一区二区精| 熟妇一区二区| AV在线资源| 国内外色色色色色成人视频| 色小视频蜜乳| 97精品熟女少妇一区| 日韩大香蕉AV影片| 亚洲精品一区二区免费在线观看| 老鸭窝亚洲毛片| 国产区性爱在线视频秋霞豆| A级在线视频| 欧美亚洲se91| 久久久久久久九九九九九九| 九九久久99| 狠狠中文字幕| 女生久久网| 亚欧美色图| 高潮嗯啊性感美女久久久| 久久三| 中文字幕日韩专区精品系列| 亚洲人久久久久日| 日日日日做夜夜夜夜做无码97| 综合激情97 | 精品久久无码午夜福利| 精品免费视频国产一区| 天天影视综合色| 人妻黑丝袜电影| 国产精品午夜成人福利| 中文字幕在线观看AV| 91碰碰碰| 立川理惠加勒比无码| 三级AV入口| 人妻熟女一区二区在线视频| 日本黄色裸日本黄色裸体 | 激情视屏国产乱伦强奸| 9色国产精品一区粉嫩| 精品美女少妇一区二区| yy少妇精品久久| 人人综合| 九九英色视频| 成人色女网| 人妻日日夜夜精品| 国产偷仑| 日夜干射色啊| 91麻豆一二三区| 蜜乳av一区二区三区四区不卡| 日韩三级在线观看mp4| 啊啊啊好爽快点啊啊啊嗯嗯| 一本道综合色图| 狠狠操天天干| 白丝1区2区3区| 伊色综合天堂色97| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧美激情1区| 91熟女视频网| 九九热精品视频六| 日韩色香| 亚洲天堂精品日韩电影| 国产毛片久久久久久久| 欧美性爱1080p| 亚洲无码超碰免费| 亚洲性爱免费电影| 成人免费福利在线观看| 日本日皮视频逼| 日韩成人电影AV| 思思性爱| 色99在线| 97干色天堂| 亚洲情色一区二区三区| 97精品97久久| 欧美综合天堂| 国产成人一级av88| 日日狠狠久久偷偷色综合免费| 美国aaaaa一级黄片| 成人免费福利在线观看| 99这里都是精品| 嗯啊不要啊在线| 久久国产精品91| 日韩一级二级| 区一二区日韩亚洲乱码av电影| 亚洲中文电影| 中文字幕熟女人妻丝袜丝| 美女让帅哥通她小鸡鸡| 国产丝袜美女诱惑| 日本操BAV| 天天射天天色成人| 尤物网址| 闷骚老熟女15P| 久艹视频在线| 国产 亚洲 丝袜 制服| 亚洲欧美日韩激情不卡| 在线观看亚洲成人精品| 精品国产乱码久久久久久口爆网站| a天堂视频| 国产精品电影| 91美女在线视频| 亚洲欧洲无码97久久精品| 无码人妻系列少妇| 亚洲色图欧美一区二区不卡| 久久久久久久国产视频| 亚欧韩av| 中文字幕88av在线| 亚洲狠| 国产家庭乱伦表演| 激情小说五月天| 超碰在线974| 男人成人黄色视频在线观看免费下载| 老司机午夜精品视频| 国产尤物AV尤物在线观看不卡| 99久久9| 激情人妻另类| 欧美乱伦专区| 激情综合久久| 人妻免费观看| 91色夜| 天天躁日日躁xxxxx| 天美传媒一二三区永久网站| 麻豆区久久久久亚| a片在线播放| 亚洲av强奸乱伦| 欧美性,色九九| 九九九成人| 特级毛片特黄久久免费看| 人人色97| 肉丝无码中文高清| 亚洲欧洲中文日韩女优乱码| 先锋精品av色鲁| 人人妻人人爽一区二区三区| 国产亚洲精品玖玖玖在线观看| 天天干天天操天天拍| 亚洲男人天堂视频| 少妇无码av专区线| 级品肉射| 一级AV性爱| 一区二区三区精品黑丝白丝酒店对鸡| 欧美色亚洲色| 隔壁邻居波多野结衣中文字幕| 中文字幕日本久久| 俺也射| 操逼www.| 成熟熟女国产精品一区二区 | 情色五月天网| 亚洲一区日韩精品| 美女大乳久久久久久久女人18| 女优大全 - 91n| 一区二区三区激情在线观看| 日本欧美m v精品网站加| 超碰色男人操熟女| 精爱久久| 人人人摸人人| 97日视频| 国产综合在线视频网站| 亚洲免费97免费| 操国产高清| 超碰人人乐97| 97久久久久久久久久| 夜夜免费视频| 尤物一级在线免费观看| 亚洲日本天堂| a级理论午夜日本| 屌妞视频久久久久久久久久久久| 99视频这有这里有精品| 色诱avtt| 亚洲 自拍偷拍 欧美| 一区 欧美 日韩 麻豆| 另类天堂| 日韩免费人妻色情网站| 国产一区二区在线看| 色久桃花影院在线观看| 久久久九九| 欧美日韩香蕉| 午夜啊啊| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久久不能久久久久| 97超碰色情| 人人喜人人妻| 97人人操人人摸| 99精品久久久久久| 激情丁香五月婷婷| 白丝1区2区3区| 亚洲自拍青操视频| 婷婷色综合| 中文字幕乱亚洲美女精品一区| 人妻日日夜夜精品| 黄片免费日韩| 中日韩久久久免费看| 999岛国大片| 欧美性高潮| 日韩AV中文字幕电影| 国产亚洲福利第一页丝袜| 久久欧洲| 国产欧美一区激情交| 美欧色综合| 国产久久日韩网站导航| 亚洲高清无码在线桃色| 亚洲少妇视频| 国产亚洲色婷婷99精品91| 中文字幕一区二区韩| 欧洲性人爱视频| 99热99色| 免费成人在线观看91| 蜜臀无码一区二区| 日产狠狠干| 操婢日韩| 九九九九精品视频| 黑人与人妻| 一块操欧美| 91性情| 久久综合日韩亚洲欧美| 日本一区二区做爱的视频| 91丝袜在线播放| 精品人妻视频一区二区三区蜜桃视频| 国产精选三级在线观看| 国产精品高潮呻吟av久久4虎| 97精品在线| 国产亚洲色婷婷久久99精品91葵花宝典| 老司机香蕉| 97精品国产97久久久久久免费| 久久黄片国产一区二区| 精品无码少妇| 久草老司机| 精品少妇一区二区三区免费观看| 亚洲AV无码AV吞精久久久久| 凹凸视频在线一区二区| 久久是精品| 色狠人在线99| 99热综合| 亚洲av综合色区图片亚洲| 超碰色97| 欧亚第一综合网| 国产成人+综合亚洲+天堂| 色欲Av人妻精品一区二| 超碰天天操你比| 色97| 日韩免费性爱视频在线观看| 日日操丁香五月天| 91亚·色| 色狠狠色| 亚洲高清无码AAA久久久精品| 啊啊啊在线观看| 欧美人人天天网| 精品少妇一区二区三区免费观看| 欧美系列在线一区二区| 九月激情婷婷| 中文字幕五月婷婷免费| 日韩成人私密一级精品av| 久久久一区二区三区麻豆| 亚洲综合情色| 久久99草| 日日日啊啊啊| 67194无码不卡| 九九成人视频| 九九色综合| 国产精品视频白浆免费| 亚洲AV操| 3P乱轮视频| 超碰成人公开| 一牛影视成人片免费| 看免费的黄片| 国产精品午夜AV完会免费| 91中出视频| 久久久久久久久女黄| 欧美日日人人天天| 超碰社区97| 日本天天干天天日一区| 精品无码产区一区二| 欧美激情久久久久| 涩涩久久精品| 欧美激情亚洲情色| 国产人人干| 亚洲欧美综合网站| 欧美成人精品一区二区男人蜜臀| 亚洲国产亚洲天堂| 国产午夜福利合集| 久啪视频| 蜜臀久久99精品久久久久久酒店| 丰满人妻一区二区三区四区| 少妇滛荡视频| 五月丁香影院| 夜夜爽爽爽| 婷婷色一区| 啊啊啊好湿久久| 九九热五区| 中文字幕女同在线| 91九色丰满高潮| 欧美色蜜桃97| 男人女人18禁片免费看网站| 84YTCOM性无码| 国产家庭乱伦性爱视频| 欧美v亚洲v日韩v最新在线二区 | 伊人在线大香蕉二。| 欧美激情亚洲情色| 91中文字幕在线观看| 超碰色大香蕉| 91久久青青草原精品| 五月色网| 欧美日韩久久精品爱爱| 日韩一级二级三级免费看完整版| 一级做a爰片性色毛片久久| 啪啪啪东京| 夜夜影视四色| 中文字幕二区日韩天堂| 伊人久久大香线综合无码| 激情五月天校园春色网| 丝袜足交视频| 国产精品一区二区亚洲人成毛片| 凹凸久久人人| 五月婷丁香| 麻豆久久久久久久久丝袜 | 人人模人人看| 最新亚洲黄色免费电影| www成人啪啪18秘 免费| 情侣开房子拍 日韩无码 女的很漂亮| 亚洲欧洲色情高清| 97亚洲自在精品在线观看| 欧美日韩国第一区| 啊啊啊啊啊舒服| 色臀AV| 天天日天天操天天射河南省| 搡老人老9丨女老熟人| 五月婷婷六月丁香| 嗯嗯啊好大| 91欧美性| 国产h小视频在线观看免费| 午夜福利激情在线视频| 久99| 一区二区三区色综合| 欧美日韩色| 亚洲激情综合另类男同| 激情综合久久| 乱子伦一区二区三区国产精品| 殴美色网| 成 人片 黄色大片| 性色乱AV一区二区| 夜色97| 亚洲日韩精品久久久久一区壹牛| 久久激情视频| A男人的天堂| 久久9免费视频| 超碰免费人妻人人| 人人摸人人干人人拍97| 日韩精品.久久精品.AV女优.天美传媒 | 天美国产三级传媒| 妇女乱色二区| 日本免费一级AAA大片器| 午夜精品久久久久久久男人的天堂| 久久久中文版| 永久免费观看的毛片的网站| 激情99| 操逼逼无码| 人妻久热在线| 夜夜精品视频| 激情小说成人日本无码一| 久久精品区| 天天综合网~91| 丰满人妻一区二区中文| 婷婷午夜成人色中色| 校园春色 亚洲| 国产91乱伦| 爱我干综合| 欧美日韩天堂| 曰韩精品视频一区二区| 蜜桃久久久久久| 97 色综合| 色色五月婷| 亚洲九九视频在线观看| 精品一区二区成人| 97欧美日韩中文| 秋霞免费无码视频日韩A片| 五月天激情网站| 精品少妇高潮久久| 白丝被操91| 国产原创精品| av激情亚洲五月天| 电影69乱码96| 嗯嗯啊啊操我| 日本91白丝| 青青草好吊色| 色爽爽文学| 黄色工厂这里只有精品| 久久乐| 国产一二三福利视频网| 涩五月婷婷| 2020中文字幕在线观看| www.狠狠干.coom| 精品国产乱码久久| 男人的天堂在线有码| 97免费视频在线| 中文字幕黑人大片| 亚洲色图欧美一区二区不卡| 日韩美一区| 成人资源中文字幕在线观看| 久久精品人体AV| 亚洲综合另类色图| www99热| 国产传媒日韩| 亚洲一卡二卡在线免费| 久久熟妇五十路一区| 中文字幕日韩电影人妻| 97亚洲综合电影| 国产精品精品系列在线观看| 97久久免费| 福利视频一区二区微拍| 日本一久是| 久久黄色性爱视频| 一二视频神马久久传媒| 91丝袜美女国产| 国产在线综合福利网站| 97碰碰日本乱偷人妻中文的| 欧美日本一区二区a人| 中文一区二区| 五月丁香啪| 中国操逼无码| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 色色婷婷五月天| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 日韩在线观看中文字幕视频| 99热在线只有精品| 日本不卡高清免v欧美日韩在线观看| 三级日韩一区二区三区| 亚洲自拍一区夜夜操| 被体育老师抱着c到高潮| 蜜臀99久| 欧美在线l亚洲| 99九九精品| 少妇久久久| 在线亚洲丝袜视频网站| 国产av美女被艹的乱叫| 好吊色青靑草| 亚洲欧洲色情高清| 狠狠久久亚洲欧美专区| 色欲无码人妻日韩欧美精品| 国产精品69久久久久久久| 国产伦精品免编号公布| 日日A∨| 我爱大香蕉| 天美传媒AV在线播放| 97资源免费视频| 99在线免费视频| 亚洲图片婷婷五月天| 97欧美日韩精品| 欧美日本天堂| 色综合久| 国产一区二区三区免费视频在性观看 | 精品九九国产无码| 视频二区美腿制服人妻欧美| 今日头条成人一区二区三区四虎精品| 人妻丝袜无 码视频专区| 国产日韩精品suv| 蜜臀久久99精品久久久久久成人小说| 亚洲色图欧美另类在线| 毛片中心9视频99| 人妻日日干| 日本性爱视频一级| 精品人妻av区天天看片| 中文字幕色AV| 久偷拍欧美日韩三区| 色噜噜狠狠色综合日日| 国产精品无码av在线| 张柏芝国产一区在线观看| 中文字幕av一区二区三区人妻少妇| 97超碰天天爱天天爱| 美女被艹尤物视频| 国产熟女完整版中字| 欧美日韩插逼视频| 免费操逼91| 久久精品超碰| 天天天做天天天爱天天天爽| 欧亚成人在线视频| 91麻豆天美传媒HD| 极品丝袜无码| 精品国产乱码久久久久A| 日韩国产中文字幕| 国产av美女被艹的乱叫| 伦伦成年午夜免费视频| 澳门黄片一香蕉视频| 日本天天干天天操一区| 久久一区二区蜜桃| 东京热91| 91老司机精品| 久久r精品| 人妻熟女一区二区| 国产亚洲禁久一区二区 | 北条麻妃99精品青青久久| 日本色色的视频| 午夜120视频在线观看| 国产性爱在线视频一区二区| 国产传媒午夜理伦精品| 极品综合| 日本久久女同性恋视频| 啊啊啊网站| 火箭成精品视频884必出精品| 操久久久久| 校园春色亚洲色图| 91国产伊人大香蕉| 91 国产丝袜在线播放-百度| 国产视频大全| 97欧美久久久久久久| 五月天亚洲网| 十八禁一区二区无码观看| 二三四区精品| av 模特一区了| 香蕉大久久久| 久久精品高清无码一区| 久草电影网| 自拍第一页| 欧美成人精品一区二区男人蜜臀| 欧美色91| 精品78| 999精品国产高清一区二区| 国产日韩区| 日韩乱伦影音先锋| 日本在线激情一区二区三区| 丁香五月影院| 久久男女激情视频网站| 91久久久久免| 97 超碰 人人做 人人爱| 亚洲美欧999| 欧美在线视频观看一二三四区高清| 黑人干亚洲| 日韩本不卡视频在线观看 | 9久久9综合| 伊人玖玖网| 亚洲午夜AV| 97亚洲综合电影| 黄色大片一区二区密桃丝袜| 精品久久久久瑟瑟| 97视频新免费| 精品1区2区3区| 一中国女人毛片水真多| 精品亚洲国产成人av网站| 五月丁香婷婷啪啪| 第45页一区二区| 日本天堂在线播放| 大色综合| 国产Aα| 婷婷色综合| 一二三啪啪专区| 久久九精品| 91n欧美| 午夜精品久久久久久久久久蜜桃| 久热婷婷| 91国产美女丝袜足交精品视频| 天天干夜夜操一区二区| 国产精品内射婷婷一级二| 日韩A优精品在线观看| 精品精品精品| 欧美精品双插| 精品人妻丰满熟妇一区二区三| 亚洲欧洲综合av在线| 一区二区三区机械有限公司| 久久亚洲不卡一区二区三区| 夜夜高潮夜夜爽夜夜爱爱一区| 操操逼视频| 天天操夜夜操狠很操| 日韩啪啪啪啪啪| 性色一线| 日1区2区3区2020| 国产三级在线现体验区| 国产 码在线成人网站| 欧美亚洲美少妇一区二区| 亚洲高清欧美总合| 国产美女mm131爽爽爽爽| 2020中文字幕| 久久精品人妻一区二区三区| 国产又猛又粗又爽又黄| 在线黄页看毛片| 亚洲日韩精品在线播放| 美日韩一卡二卡三卡免费人妻精品| 热久久无毒不卡| 久久这里只精品免费福利| 欧美夜夜狠| 怡红院网站在线视频| 欧美爱爱97| 五月丁香啪啪| 国产AV天美传媒一区二区三区 | 亚洲中文字幕熟女少妇一区二区| 色噜噜精品一区二区三| 久久欧洲| 欧亚日韩中文在线| 婷婷亚洲色| 夜夜爽夜夜摸夜夜操免费视频| 中文字幕精品一区欧美| a男人的天堂| 久久久内射良家| 免费的很黄很污的全部视频| 伊人久久大香线综合无码| 妇女一区二区三区| 91九色精品熟女内射| 综合网亚洲1| 国产成人亚洲精品无码古代早漏男| 色老汉色| 亚洲欧洲自拍| 97操碰| 美女爽到高潮91| 91成人久久| 一区二区视频你懂的| 91人精品妻入口| 97硬碰| 伊人专区一区二区三区| 爽爽歪在线视频| 人人九九精| 91操人| 春色综合免费| 中文字幕亚洲永久精品| 伊人991| 日韩精品在线观看观看| 天天综合色电影| 97资源久久| 在线观看十八禁| 精品国产av一区二区三区四区入口| 9999久久久| 亚洲成人美女无吗| 天堂精品一区| 色一情一乱一乱一区91Av| 亚洲日本天堂| 麻豆啪啪啪视频| www男人天堂| 五月天婷婷色| 人人弄人人摸| 二区熟妇韩日| 国产99精品一区二区三区免费| 亚洲Av噜噜一区二区三区妖精| 蜜臀中文字幕| 精品一区二区啪啪啪| 91老熟女视频| 欧美日本天堂| 牛牛aV| 亚洲综合色图欧美| 日韩人体偷拍| 黑人美精品 A片| 亚洲精品不卡一二三区| 国产欧美日韩在线不卡第一页| 97少妇人妻中文字幕久久| 一区在线观看中文字幕| 人妻喷水| 色综合美国| 国产亚洲精品久久久久小| 99re6国产精品99re| 超碰人人在线| 精品国模无码| 人妻酒店出差被中出免费在线播放| 亚洲人妻中文高清| 美女啊啊啊啊啊| 欧美老妇综合网| 中文字幕成人理论在线| 91黄站| 日本人妻天堂网站在线播放| 秋霞一级视频在线观看免费| 丰满人妻-区二区三区免费看| 嫩草 人人网精品| 免费av大片| 伦理第一页| 蜜臀99999| 五月丁香色情| 久操操AV电影| 精品少妇人妻| 青青爽| 乱伦3P视频| 成人羞羞视频国产| 人妻天天爽夜夜爽2| 九九伊人网| 免费?级毛片无码?∨蜜芽试看| 插B在线观看| 天天弄欧美| 国产精品久久久久久片| 日本视频在线中文字幕| 久操| 久久偷拍人| 一区二区日韩欧美久久| 免费一级特黄特色大片在线观看看| 久久免费9| 亚洲 欧美 手机在线观看| 91情色| 久久久性少妇| 欧美专区在线| 久久老子无码午夜伦不卡| 7777奇米影视久久| 热99re69精品8在线播放| 天天拍天| 狠狠图片青青草| 妺妺跟我一起洗澡没忍住| 一级岛国大片| 国产美女自拍视频| 色拍偷亚洲| 女优视频第10页| 亚洲欧美国产成人综合不卡| 亚洲国产成人精品999| 老鸭窝成人免费毛片视频| 日韩不卡一二三四| 91l欧美在线| 国产高清在线观看欧美| 亚洲深夜福利| 免看60秒涩涩视频| 久久精品人体AV| 亚洲午夜AV| AV和黑人在线播放| 在线午夜成人无码视频| 久久啊啊啊| 骚货 中文字幕 av| 久久99999| 激情图片亚洲色图| 久久9精品视频| 超碰人人乐97| 亚洲一卡2卡3卡4卡乱码网站| 美女视频尤物网在线看| 操屄日韩| 97视频免费在线观看| yazhouzaixian| 欧美日韩国产中文超碰| 91久久久久久久| av在线免费一区二区| 天天视频网站黄| 中国操逼无码| 日韩一区二区精彩视频| 日本成a人v网站在线观看| 啊啊啊啊啊啊好多水| 男人天堂新在线| 久久精品无码不卡| 国产精品一区二区麻豆| 狠狠操狠狠燥| 夜色97| 日本精品国产视频| 麻豆精品A片免费观看| 啊啊啊啊啊在线视频| 欧美在线天堂| 天堂男人网| 97精品全部| 日天天九九天堂666| 日韩无码第3页| 草草草视频| 欧美色亚洲| 农村妇女精品一区二区| 天天日美女的B| 中文字幕十五区| 福利天堂| 一区二区播放| 日韩视频小说在线观看| 日日橹狠狠爱欧美超碰| 撸撸成人在线视频| 亚洲男人综合网| 久久久精| 色欲久久99精品久久| 一卡二卡三卡| 久久久96精品| 国产激情在线| 国产深喉| 曰本特级特黄特色黄色A级网站高清在线免费看 | 一本大道不卡一二三区| 囯产操逼片| 综合欧美日韩在线观看| 日本色婷婷| 人妻天天爽夜夜爽精品2| 美日韩在线不卡人妻| 九九av| 女生看匆91网站| 国产一二三福利视频网| 亚洲欧美电影| 黄色av网站在线播放| 嫖老熟女A片一二三区| 国产亚洲色婷婷久久99精品91葵花宝典| 中文字幕av亚洲在线| 国产久久一区二区午夜| 樱花草社区www中国| 在线小说视频一区| 久久精品店| 69少妇一区二区| a在线视频免费观看| 亚洲欧美精品一区天堂久久| 欧美 传媒 麻豆 日韩 偷拍| 四虎精品一区| 日日夜夜精品视频| 草草影院日本第一页| 亚洲成av人片色午夜乱码| 玖玖婷婷五月天| 精品免费1| 超碰97在线中文| 后入式福利| 日韩精品资源专区二区| 国产精点久久久成人| 久久国产AⅤ| 一区三区啪啪| 国产精品麻豆成人AV艾秋| AV丝袜少妇| 熟妇女伦乱视频视频| 亚洲欧美另类图片| 天天看天天在线精品| 91无码中出人妻视频| 精品96久久| 欧美日韩中文字幕人妻| 国产精品黄色三级av| 超碰av人人人| 亚洲熟女乱色一区二区三区久久久 | 天天综合亚洲综合| 亚洲av淫乱| 亚洲精品欧美专业| 3P丝袜熟女 色综合| 插入逼91| 久久久18| 久久国产精品熟女人妻| 97国产精品视频| 天天躁日日躁AAA片李宗瑞| 青青草原综合久久大伊人精品| 九九av| 99久久精品欧美国产| 高清在线偷拍自拍视频| 亭亭丁香激情| 一二三区精品视频| 免费精品国偷自产在线在线| 国产操逼逼网| 日本A级视频| 欧州91高潮| 五月天婷婷久久| 综合97久久| 日韩免费看在线黄色片| 日韩人成网站在线播放| 亚州色图狠狠干| 97香蕉网| 伊人AAA| 97人人夜| 黄片不用下载在线观看| 自拍丝袜美腿人妻| 欧美综合自拍| 骚逼高潮久久精品| 风间由美日韩欧美久久| 18禁网站在线播放| 一区二区视频你懂的| 久久久久久99AV无码免费网站| 美女刺激久久国产欧美| 骚逼一区二区| 国产JDAV无码视频在线观看| 日本天天吊| 人妻丝袜日本| 精品久久99| 神马久久久久久久久| 在线中文字幕极品av| 亚洲精品国产av天美传媒| 精品日韩人妻视频| 国产性刺激| 精品国模无码| 伊人国产视频| 午夜激情成人在线观看| 91久久伊人婷婷青青草| 先锋影音av先锋一区| 久久久久成人蜜桃精品| 久久久无码视频| 欧美黄页在线| 九九九九精品九九九九| 2010男人的天堂| 国产又粗又长又大的视频| 色色五月婷| 欧美色九九| 亚洲爽图| 亚洲精品一区二区三区新线路| 久久精品国产亚洲AV先锋| 亚熟在线| 极品国产内射| 日韩国产十八禁| 天天躁日日躁AAAAXXXX国产 | 日本一区二区三区四区五区六区七区八区九区| 五月丁香啪啪网| 深夜国产福利| 久久久婷婷| 98久久| 色五月天AV| 国产又色又粗又黄又爽| 噜噜噜久久亚洲精品色情| 国产AV久久野战精品| 国产中午字一暮区| 人人操人人摸人| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 蜜臀亚洲中文| 日韩性爱1级片视频| 天天干天天日天天射黄色| 欧美在线91| 一区二区三区精品黑丝白丝酒店对鸡| 超碰97久久| 97视频在线免费看| 小日子操bb在线看| 78m成人视线| 日韩熟女精品无码专区一区二区 | 日本一区二区不卡| 97频视在线| 91超级碰| 国产一区二区三区免费视频在性观看 | yazhouzaixian| 亚洲熟妇图片| 欧美顶级黄色大片免费| 大香蕉伊人75| 国产精品亚洲四五区在线观看| 日本操大逼| 99re视频这里只有精品| 国产60区。| 久久精品国产72国产精品福利| 亚洲男人的天堂va亚洲男人社| 亚洲高潮少妇| jk白丝没脱就开始啪啪| 午夜精品久久久久久久99| 91爽啪| 九九久久一区二区伦理| 97超碰9| 国产熟女二区| 九九色热| 中文字幕乱亚洲美女精品一区| 日韩性色b| 乳欲人妻办公室奶水| 性色A∨91| 熟女高潮合集-永久久久-成人AV | 欧美少妇高潮久久91| 在线色导航| 婷婷激情四射| 99啪啪视频| 色婷亚洲五月在线观看| 囯产精品久久久久久久久久梁医生 | 欧美久热| 最新岛国大片| 久久东京热久久| 色欧洲97| 老熟女91av| 蜜乳AV色欲AVAV无码| 三级色综合| 久久只有精品| 久久精品无码熟妇一区二区三区视频导航| 青青草吊丝| 欧美日韩性感| 亚洲一本大道中文字幕无码在线| 欧美成人性爱视频在线播放| 伊人国产AV| 女上位精品在线| 久久久久久久久久黄色网| 三级片大波波| 人看人人摸人人操| www国产无码| 96超碰网| 99re99在线视频| 午夜无码熟妇丰满人妻| 亚洲av总站| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 电家庭影院午夜69久久夜色精品国产69乱| 天堂av最新电影网| 久久视频,这里只有精品| 中文字幕版| 97AV爱| 色婷婷五月天| 五月天综合在线| 久久久久久AⅤ无码免费肉站| 嫩呦国产一区二区三区AV| 永久免费观看的毛片的网站| 九九碰九九爱97超| 肉丝中文无码高清| 国产欧美日产一区二区三区 - 国产欧美日 | 欧美香蕉视xxx| 丰满人妻一区二区三区四| 欧亚综合一卡二卡中文字幕| 欧美性生活综合| 欧美成人黄网色网站| 欧美激情另类一区二区| 久久无码成人| 久久一区二区三区四区五区| 啊啊啊啊操死我| 精品99999| 激情小说在线视频| 欧美人妻少妇| 东京热毛片177b2viP| 蜜臀视频网站| 精品人妻一区二区三区在线视频不卡| 欧美色图 色综合图| 超碰精品97| 天天干18禁| 天天噜| 美日韩男女操屄视频| 色淫网站优优视频| 日韩无码服务区| 男人天堂网手机版婷婷| 国产乱不卡| 91精品国产91熟女| 久久这里只| 亚洲一区中文精品| 秋霞操逼片| 黑人操一区二区| 欧美亚洲另类在线蜜桃| 久久激情综合| 国产浮力影院第1页| 亚洲熟女精品| 欧美日韩国产高清在线一二三区 | 中文字幕天天操| 91色女| 国产精品午夜成人福利| 龙兴卡官方查询| 天天热精品| 天天综合91入口| 久久精品国产亚洲av水密被窝| 中文字幕欧美丝袜07资源| 久久久国产av美女私房| 久久首页| 99热婷婷| 97中文天堂| 亚洲综合九| 欧美日韩国产色五月综合在线| 久久精品国产亚洲av水密被窝| 精品国产乱码久久久久久久| 久久风骚城市人| 亚洲成人激情小说视频| 三级激情网站| www超碰| 久操九九九九| 99re热| 91性网| 精品成人亚洲午夜电影| 欧美国产欧美在线观看| 99色色网| 做爱福利视频一区二区| 国模久久在线| 亚洲精品九九九| 黄色大片免费在线| 天天操综合网| 欧美成人9797| 91日产欧美| 97亚洲欧美| 再深点灬舒服灬太大了添视频| 色播五月丁香| 91九九九逼| 超碰碰97资源站| 91社操逼| 熟妇熟女视频一区二区三区| 亚洲色人阁| 亚洲欧美在线综合| 青青草色AV| 狠狠操官网| 自拍鲍鱼一区在线高清观看免费| 翘臀vidoes| 91超碰丝袜制服| 成人五级久久| 久久婷婷热| 欧美中字二区| 国产极品馒头逼| 亚洲AV无码AV吞精久久久久 | 日本新免费二区三区| 无码人妻精品一区二区三区九九| 超碰九7免费| 欧美亚洲色图另类国产| 青青草日韩无码| 夜夜嗨免费视频| 欧美精品成人一区二区在线观看| 一本一道vs波多野结衣| 91大胆欧美| 97情超碰色| 国产视频一区二区三区在线免费观看| 午夜影美女日鸡鸡天天视频国产| 婷婷五月天久久精品视频一区二区三区| 欧美黑人与女人91| 久草网站免费在线观看| 五月婷婷性爱| 制服丝袜第二页| 91丨豆花丨熟女| 久久久久精| 一区二区视频在看| 人人摸人人摸人人干| 亚洲 欧美 另类 综合 偷拍| 久久久精选| 欧美强奸乱能| 久久精品72| 中文字幕欧美精品亚洲日韩蜜臀| 亚洲国产欧美一区二区潘金莲| 97在线免费看| 久久久久久久久9| 秋霞网—男女啪啪亚洲免费体验区 | 牛牛操视频逼| 激激五月| 91欧美网| 播播亚洲小说亚洲| 精品视频久久区| 欧美人妻精品一区二区|