|
46| 0
|
[AI2+IoT] ImageBot 教程:想象、描述、生成与分享 ## 挑战 |

|
你是否想过,如何制作一款能够生成天马行空创意图像的 AI 应用? 在本教程中,你将使用 MIT App Inventor 搭建一款简易应用。该应用支持接入 OpenAI 的 DALL-E 生成式 AI 模型,用户输入文字提示词,即可由 AI 生成充满艺术感的图像。 ![]() 本项目需要你申请个人 OpenAI API 密钥,才能在 MIT App Inventor 中使用 ImageBot 组件。按照下面步骤注册 OpenAI 账号并获取 API 密钥。
在本教程中,你将学习使用 App Inventor 的 ImageBot 组件,开发一款应用,用户可以借助 OpenAI 的 DALL-E 生成图片。应用运行流程如下:
![]() 本项目大部分用户界面已经预先搭建完成。请熟悉界面内各类组件(大部分组件直观易懂)。你可能不太熟悉 Spinner(下拉选择框) 组件:在本应用中,它作为下拉菜单,供用户选择想要生成图片的分辨率。 请将以下不可视组件拖拽添加到项目中:
最终图形界面效果参考下图。(提示:预览窗口中,你可能需要向下滚动才能看到全部组件。) 3. 填入你的 OpenAI API 密钥![]() 想要调用 DALL-E,你需要准备 OpenAI API 密钥(前文准备环节已经完成密钥创建)。 将密钥复制粘贴到 ImageBot 组件的 ApiKey(接口密钥) 属性中。 (你自己的密钥与下方展示的密钥片段不相同。) 4. 编写界面功能代码![]() 现在,你可以为所有组件编写功能逻辑。点击【逻辑设计(Blocks)】按钮,进入逻辑设计界面。 ![]() 首先创建并初始化 全局变量 imageFileName,用来记录 AI 生成的图片文件。该变量初始值设置为空字符串。 5. 获取用户提示词![]() 编写事件积木,实现语音录入提示词功能:用户点击【语音按钮 (SpeakButton)】后,语音识别组件(SpeechRecognizer)捕捉语音并转换为文字。 ![]() 语音识别成功返回提示文字后,将文字赋值给提示词输入框(PromptTextBox)。 6. 选择图像分辨率![]() 接下来,用户可以选择图片分辨率(256、512 或 1024),默认分辨率为 256。 ![]() 当用户通过分辨率下拉选择框(ResolutionSpinner)完成选择后,需要把选中的值赋值给 ImageBot 组件的 Size 属性。 7. 生成图像![]() 至此我们已经具备生成图片所需的全部参数。用户点击【CreateButton(生成按钮)】时: 如果提示词输入框不为空,通过对话框组件(Notifier)弹出加载提示弹窗,告知用户图像正在生成。随后将输入的提示词发送至 OpenAI,依据文字描述生成图像。 ![]() 当 OpenAI 返回图像文件名称后:关闭加载提示弹窗,将画布(Canvas)组件的 BackgroundImage 属性设置为该图像文件。同时把返回的文件名存入全局变量 imageFileName,编写when ShareButton.Click时会用到这个变量。 ![]() 图像展示在画布上之后,用户可以重复执行生成操作,直到得到满意的图片。 8. 图像分享功能用户完成图像生成后,点击【ShareButton(分享按钮)】,可以调用手机上已安装的社交软件,将图片分享给好友。 为避免程序运行报错(例如用户还未生成图片就点击分享按钮),需要判断全局变量 imageFileName 不为空字符串。分享至社交平台时,发送内容需要附带生成图片所使用的提示词与图片文件。 9. 重置功能![]() 最后,用户完成图片分享后,可能需要清空所有内容,使用新提示词重新生成图像。 因此点击【ResetButton(重置按钮)】时执行以下操作: 将图像分辨率恢复默认值 256、清除画布背景图片、清空全局变量 imageFileName,同时清空提示词输入框。 10. 应用测试![]() 现在对应用进行测试:语音录入提示词、生成图像、社交平台分享图片,最后重置应用。 尝试随意点击各个按钮,模拟各类异常操作,检验程序稳定性。如果发现问题,回头检查积木代码并完成修改。 恭喜!你已经成功制作出一款实用应用,可以根据用户提示词生成创意图像并支持分享。 三、拓展你的应用
但这款揣在口袋里的设备,也为年轻人蕴藏着尚未发掘的机遇,助力大家学习、建立联结、改造社区。 正因如此,麻省理工学院(MIT)联合 YR Media,共同推出青少年移动力量(Youth Mobile Power)系列项目。YR 的青少年创作者产出多篇报道,展现年轻人巧用手机、创造惊喜价值的鲜活案例。与此同时,MIT 团队持续优化 MIT App Inventor,让你这样的学习者,能够动手开发出报道中介绍的各类应用。 简单来说:从故事中汲取灵感,动手开发属于你自己的应用! ![]() ![]() YR 与 MIT 的合作项目得到美国国家科学基金会部分资助。本内容基于国家科学基金会资助项目(资助编号:1906895、1906636)研究成果创作。文中所有观点、调研结论与建议均为作者观点,不一定代表美国国家科学基金会立场。点击此处查看更多由 YR 制作的应用与互动新闻内容。 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed