From a467e68100c4458eed82d0cc5cd08f98fe418f08 Mon Sep 17 00:00:00 2001 From: whm1216 <2248293452@qq.com> Date: Tue, 2 Dec 2025 23:21:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E7=85=A7=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../micropython/blocks/ai_local.js | 22 +++++++++++++++++++ .../micropython/generators/ai_local.js | 10 +++++++++ .../micropython/generators/display_onboard.js | 2 +- .../micropython_esp32s3/template.xml | 22 +++++++++++++++++++ common/msg/blockly/en.js | 1 + common/msg/blockly/zh-hans.js | 1 + common/msg/blockly/zh-hant.js | 1 + 7 files changed, 58 insertions(+), 1 deletion(-) diff --git a/boards/default_src/micropython/blocks/ai_local.js b/boards/default_src/micropython/blocks/ai_local.js index 6d4f7c82..6ebcaf22 100644 --- a/boards/default_src/micropython/blocks/ai_local.js +++ b/boards/default_src/micropython/blocks/ai_local.js @@ -359,6 +359,28 @@ export const OPEN_IMAGE = { } }; +export const GET_IMAGE_FROM_NET = { + init: function () { + this.setColour(AI_LOCAL_GRAPH_HUE); + this.appendValueInput('direct') + .appendField(Blockly.Msg.MIXLY_GET_IMAGE_FROM_NET); + this.appendDummyInput('') + .appendField(Blockly.Msg.MIXLY_ROTATION_ANGLE) + .appendField(new Blockly.FieldDropdown([ + ['0','0'], + ['90','90'], + ['180','180'], + ['270','270'] + ]),'angle'); + this.appendValueInput("w") + .appendField(Blockly.Msg.MIXLY_Enlarge_and_scale_to) + this.appendValueInput("h") + .appendField(Blockly.Msg.MIXLY_High_zoom_level_to) + this.setOutput(true); + this.setInputsInline(true); + this.setTooltip(Blockly.Msg.MIXLY_OPEN_IMAGE_TOOLTIP); + } +}; export const CAMERA_LOOGOUT = { init: function () { this.setColour(AI_LOCAL_GRAPH_HUE); diff --git a/boards/default_src/micropython/generators/ai_local.js b/boards/default_src/micropython/generators/ai_local.js index 01683994..04c9dbe4 100644 --- a/boards/default_src/micropython/generators/ai_local.js +++ b/boards/default_src/micropython/generators/ai_local.js @@ -164,6 +164,16 @@ export const OPEN_IMAGE = function (_, generator) { return [code, generator.ORDER_ATOMIC]; } +export const GET_IMAGE_FROM_NET = function (_, generator) { + generator.definitions_['camera_import_Image'] = 'from camera import Image'; + var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); + var a = this.getFieldValue('angle'); + var w = generator.valueToCode(this, 'w', generator.ORDER_ATOMIC); + var h = generator.valueToCode(this, 'h', generator.ORDER_ATOMIC); + var code = 'Image.download(url=' + direct + ', rotation=' + a + ', scale_width='+w+', scale_height='+h+')'; + return [code, generator.ORDER_ATOMIC]; +} + export const CAMERA_LOOGOUT = function (_, generator) { var code = 'camera.deinit()\n'; return code; diff --git a/boards/default_src/micropython/generators/display_onboard.js b/boards/default_src/micropython/generators/display_onboard.js index cc7a5f53..670bc2f9 100644 --- a/boards/default_src/micropython/generators/display_onboard.js +++ b/boards/default_src/micropython/generators/display_onboard.js @@ -1188,7 +1188,7 @@ export const onboard_tft_show_qrcode = function (_, generator) { generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft"; var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC) || 'True'; - var code = 'onboard_tft.qrcode(' + direct + ',sync='+ bool + ')\n'; + var code = 'onboard_tft.qrcode(' + direct + ')\n'; return code; } diff --git a/boards/default_src/micropython_esp32s3/template.xml b/boards/default_src/micropython_esp32s3/template.xml index a0fcb4d3..457dee01 100644 --- a/boards/default_src/micropython_esp32s3/template.xml +++ b/boards/default_src/micropython_esp32s3/template.xml @@ -2807,6 +2807,28 @@ + + image + + + + + https://gitee.com/dahanzimin/test/raw/master/pic/mixly.jpg + + + + + 240 + + + + + 240 + + + + + diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js index fc3a6d11..85e5b0cf 100644 --- a/common/msg/blockly/en.js +++ b/common/msg/blockly/en.js @@ -533,6 +533,7 @@ En.TEXT_CHANGECASE_TOOLTIP = "Return a copy of the text in a different case."; En.TEXT_CHARAT_FIRST = "get first letter"; En.TEXT_CHARAT_FROM_END = "get letter # from end"; En.TEXT_CHARAT_FROM_START = "get letter #"; +En.MIXLY_GET_IMAGE_FROM_NET = 'Get network image,URL address'; En.TEXT_CHARAT = ""; En.TEXT_CHARAT2 = ""; En.TEXT_CHARAT_HELPURL = "https://github.com/google/blockly/wiki/Text#extracting-text"; diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js index 0ef61e18..7054af2c 100644 --- a/common/msg/blockly/zh-hans.js +++ b/common/msg/blockly/zh-hans.js @@ -3514,6 +3514,7 @@ ZhHans.MIXLY_BACKGROUND_MUSIC = '背景音乐'; ZhHans.MIXLY_PROGRAM_BLOCK = '等待播放结束'; ZhHans.MIXLY_PLAY_TTS_TOOLTIP = '背景音乐范围0-15, 0为无背景音乐'; ZhHans.MIXLY_GET_NTP = '获取网络时间'; +ZhHans.MIXLY_GET_IMAGE_FROM_NET = '获取网络图像,URL地址'; ZhHans.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE = '自动切换'; ZhHans.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY = '只使用追光'; ZhHans.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR = '追光传感器'; diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js index 7d5ac56a..d070dbae 100644 --- a/common/msg/blockly/zh-hant.js +++ b/common/msg/blockly/zh-hant.js @@ -1138,6 +1138,7 @@ ZhHant.MIXLY_DISPLAY_MATRIX_PICARRAY = " 圖案陣列"; ZhHant.MIXLY_DISPLAY_MATRIX_ROTATE = "旋轉"; ZhHant.MIXLY_RTCINIT = '初始化時鐘模組'; ZhHant.MIXLY_RTCGETTIME = '獲取時間'; +ZhHant.MIXLY_GET_IMAGE_FROM_NET = '獲取網絡圖像,URL地址'; ZhHant.MIXLY_RTCSETTIME = '設置時間'; ZhHant.MIXLY_RTCSETDATE = '設置日期'; ZhHant.MIXLY_GET = '獲取';