autojs寫(xiě)一個(gè)畫(huà)板實(shí)現(xiàn)AI換頭狗頭蛇
正文.
chatGPT1.1.8更新了, 加了一個(gè)換頭功能, 比如傳說(shuō)中的 狗頭蛇
先選擇一張蛇的圖片
涂抹蛇頭
AI 就會(huì)生成 狗頭蛇
這里面使用的就是canvas功能
寫(xiě)畫(huà)板的步驟
第一步: 布局中添加canvas
<canvas id="imageEditCanvas" />
第二步: 編寫(xiě)draw事件
canvasView.on("draw", (canvas) => {})
技巧, 在編寫(xiě)draw事件的時(shí)候, 可能會(huì)用到canvasView的寬高, 我們可以延遲一下再添加draw事件, 也就是先讓界面生成完畢, 再執(zhí)行我們的操作
const { delay } = require("lang"); delay(1).then(() => { let canvasWidth = canvasView.getWidth(); let canvasHeight = canvasView.getHeight(); canvasView.on("draw", (canvas) => {}) })
第三步: 畫(huà)圖, 也就是畫(huà)蛇的圖片
畫(huà)哪張圖片是由用戶(hù)決定的, 因此要讓用戶(hù)選擇圖片, 增加一個(gè)按鈕, 讓用戶(hù)選擇圖片
let intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); context.startActivityForResult(Intent.createChooser(intent, "選擇圖片"), requestCode);
用戶(hù)選好圖片以后, 我們繪制圖片
canvas.drawBitmap(maskBitmap512, matrix, null);
這里使用了matrix讓圖片居中, 在之前的教程已經(jīng)講過(guò)了
autojs怎么把長(zhǎng)寬不定的圖片, 放到正方形圖片的中間
第四步: 涂抹蛇頭
這個(gè)隨意, 不管畫(huà)點(diǎn), 畫(huà)圓, 畫(huà)Path, 都可以, 我選擇的是Path
canvas.drawPath(path, paint);
第五步: 提交給AI處理, 展示處理后的圖片
res = await axios.post(url, form, { headers: { "Content-Type": "multipart/form-data", Authorization: key, }, });
AI 返回的是url, 直接給imgView設(shè)置src即可
<img id='content' w='*' h='*' scaleType='fitCenter'></img> this.content.attr("src", url);
第六步: 重置, 撤銷(xiāo), 恢復(fù) 怎么做?
在用戶(hù)觸摸canvasView的時(shí)候, 記錄下用戶(hù)每次的觸摸操作, 然后給這次的操作設(shè)置一個(gè)編號(hào),
然后通過(guò)編號(hào)來(lái)實(shí)現(xiàn)這幾個(gè)功能
這基本上就是在操作數(shù)組, 在操作數(shù)組的時(shí)候, 我會(huì)在腦子里想兩個(gè)長(zhǎng)玻璃管道,
再把push想成, 給玻璃管道放球, pop想成玻璃管道射出一個(gè)球, 等類(lèi)似的畫(huà)面,
效果很好, 你可以嘗試一下
試試app的畫(huà)板功能
環(huán)境
設(shè)備: 小米11pro
Android版本: 12
Autojs版本: 9.3.11
名人名言
思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文檔, autojs文檔, 最后才是群里問(wèn)問(wèn)
聲明部分內(nèi)容來(lái)自網(wǎng)絡(luò) 本教程僅用于學(xué)習(xí), 禁止用于其他用途
以上就是autojs寫(xiě)一個(gè)畫(huà)板實(shí)現(xiàn)AI換頭狗頭蛇的詳細(xì)內(nèi)容,更多關(guān)于autojs畫(huà)板AI換頭狗頭蛇的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
微信小程序 刪除項(xiàng)目工程實(shí)現(xiàn)步驟
這篇文章主要介紹了微信小程序 刪除項(xiàng)目工程實(shí)現(xiàn)步驟的相關(guān)資料,這里對(duì)刪除小程序的步驟進(jìn)行詳解和注意事項(xiàng),需要的朋友可以參考下2016-11-11ResizeObserver 監(jiān)視 DOM大小變化示例詳解
這篇文章主要為大家介紹了ResizeObserver 監(jiān)視 DOM大小變化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10關(guān)于Javascript閉包與應(yīng)用的詳解
這篇文章主要介紹了關(guān)于Javascript閉包與應(yīng)用的詳解,文中有非常詳細(xì)的代碼示例.對(duì)正在學(xué)習(xí)js的伙伴們有很好的幫助,需要的朋友可以參考下2021-04-04手機(jī)瀏覽器 后退按鈕強(qiáng)制刷新頁(yè)面方法總結(jié)
這篇文章主要介紹了手機(jī)瀏覽器 后退按鈕強(qiáng)制刷新頁(yè)面方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-10-10