帆布很酷! - 页 86 1...798081828384858687888990919293 新评论 Nikolai Semko 2023.09.30 17:17 #851 Aleksandr Slavskii #:您可以将文件作为数组插入,然后访问该数组。附加示例 是的,顺便说一下,这个方法可行。我不知道有这种可能性。谢谢! 但 mq4 或 mqh 文件的大小会比 png 文件本身大 5 倍。但这是一个可行的方案,因为它不会影响 ex4 文件本身的大小。(它将与 ex5 文件相同)。 fxsaber#: 请开发人员在此处插入 PNG。我相信他们会同意的。 我怀疑 MT4 是否会实现任何愿望和要求,尤其是已经宣布 MT4 支持即将结束。 Nikolai Semko 2023.09.30 17:42 #852 Vitaliy Kuznetsov #:外部 PNG 已解决,加载、缩放和透明度都正常。但是...在文件中编译 PNG 是否现实?标准功能... #resource "\\Files\\123.png" string nam_img = "::Files\\123.png" ...产生编译错误我没有深入研究软件与外部文件一起工作的事实,但如何让整个最终产品成为一个文件?否则就失去了这一功能的实际意义。我还没有在 MT5 中尝试过。在 MT4 中会出现连接错误。附注:我认为理论上可以编写一个脚本,将 PNG 转换为代码,然后将其放入 MQH,并在一个容器中处理它们。但我写不出这样的脚本。图片数组对我来说是一片盲目的森林。 除了亚历山大建议的方法(通过插入 uchar[] 数组),还有一种通过伪 BMP 的拐杖方法,我已经说过了 关于交易、自动交易系统和测试交易策略的论坛画布很酷!Nikolai Semko, 2023.09.25 17:09 不幸的是,在 MQL4 中无法将资源作为数组附加。但其他一切都能正常工作。 当然,可以通过硬手鼓来实现。例如,在 BMP 文件中插入 PNG 图像,即在 png 的开头添加 BMP 头,并将 png 本身作为 bmp 图像传递(即如果打开这样的 BMP,会出现不同透明度的彩色像素噪音)。然后在 MQL4 中将此 "bmp 文件 "作为资源附加。这对于市场来说可能是必要的,这样 ex4 就已经包含了一个更密集的 png 格式图像。 供参考:png 比相同的 BMP 图像小约 10 倍,但质量不变,此外还支持全透明。 在 ex5(ex4)文件中,真正的 BMP 资源是以压缩格式存储的,但不会少一个数量级。有必要进行精确检查。 您可以编写一个脚本,执行从 png 到 bmp 的这种转换(这种文件的伪图像大小将等于 png 文件本身的宽度,高度为 1 像素)。 但您可以使用另一种算法:将带透明度的 PNG 转换为真正的带透明度的 BMP,并通过资源附加它。ex4 文件的大小会比 png 文件略大,因为在 ex4 中,BMP 文件资源是以打包格式存储的。我检查过了,使用 bmp 的 ex4 文件大小会比使用相同图片的 png 格式 ex4 文件大小大 10%-30%。 个人而言,我更喜欢 Slavsky 建议的变体。在一个单独的 mqh 文件中放入一个单独的 uchar 数组,其中包含 png 文件本身,然后通过 include 将其插入代码中,这样巨大的数组就不会使代码变得杂乱无章。 此外,这种方法的优点是您不需要在 MQL4 沙盒中放入任何图形文件,就像资源的情况一样。 Renat Fatkhullin 2023.09.30 18:48 #853 fxsaber #:请开发人员在此处插入 PNG。我相信他们会同意的。 让我们把它添加到 MQL5 中。 Andrey Dik 2023.09.30 19:02 #854 Aleksandr Slavskii #:您可以将文件作为数组插入,然后访问该数组。附加示例 这个 "插入 "菜单在 ME 中存在多久了?:O 活到老学到老... fxsaber 2023.09.30 19:34 #855 Renat Fatkhullin #:让我们将其添加到 MQL5。市场显示,两个平台的所有产品都是重复的。不幸的是,他们很可能不会使用非跨平台变体,而是继续使用 BMP。即使现在,您也可以在 MQL5 中附加任何文件。// resource variables are supported by MQL5 language only #resource "\\Files\\Picture.png" as uchar PNGBytes[] 这种附件将创建一个包含数据的静态数组,而不是资源。在第二种情况下,似乎可以从其他 EX4/5 中获得。 Vitaliy Kuznetsov 2023.09.30 21:30 #856 Nikolai Semko #: 将带透明度的 PNG 转换为真正带透明度的 BMP,并通过资源附加。 此选项在 MT4 中不起作用,因为带有阿尔法通道的 BMP 已附加但未显示。 fxsaber#: 市场显示,两个平台的所有产品都是重复的。很可能不会使用非跨平台变体,而将继续使用 BMP。 我认为 PNG 已经实现了跨平台。它已经可以使用外部文件。上面的例子来自 Nikolay。 Aleksandr Slavskii#: 您可以以数组形式插入文件,然后访问该数组。 的确如此。这让我大吃一惊。 剩下的工作就是尝试在 Canvas 中实现所有的橡皮感和透明度,就这样,一个小小的 mq4 奇迹就诞生了。 当然,这是为跨平台而做的。因为在 MT4 上使用的是 BMP,而在 MT5 上使用的是 PNG。这可不行。一切都应该是 PNG。 Nikolai Semko 2023.09.30 22:01 #857 Vitaliy Kuznetsov #:剩下的工作就是尝试在 Canvas 中实现整个橡胶般的透明效果,就这样,一个小小的 mq4 奇迹就诞生了。 因此,一切都已准备就绪。您可以从 PNG 库中提取一个测试示例。只需将带有资源 #resource "//Images//icons.png" as uchar png_data[] 改为 #include <PNG\iconspng.mqh> 在 iconspng.mqh 文件中插入 png_data[] 数组。 唯一需要记住的是,在 MT4 中,重要的是将 OnChartEvent 中所有昂贵的计算结果输出到计时器中,否则会严重滞后。这纯粹是 MQL4 的胡扯。,我现在将提供一个不滞后的版本。 Nikolai Semko 2023.09.30 22:16 #858 Nikolai Semko #:我正要上传一个不滞后的版本。 是的,如果 CPU 处于 "最佳性能 "模式,它甚至不会卡顿。 附加的文件: MQL4.ZIP 576 kb Alexey Viktorov 2023.10.01 07:30 #859 Andrey Dik #:真神奇,ME 中的 "插入 "菜单存在多久了?:O活到老学到老... 在我尝试插入文件的文件中,我发现了一个创建于 2019 年 11 月的文件。我对它很感兴趣,甚至更早。遗憾的是,我没有找到从此类数组中保存图像文件的脚本。 Andrey Dik 2023.10.01 07:41 #860 Alexey Viktorov #:在我尝试插入此类文件的文件中,我发现了一个创建于 2019 年 11 月的文件。我对它很感兴趣,甚至更早。遗憾的是,我没有找到从此类数组中保存图像文件的脚本。超级方便的功能。不过,如果能显示导出函数的声明,插入 ex5 可能会更方便。 1...798081828384858687888990919293 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
您可以将文件作为数组插入,然后访问该数组。
附加示例
是的,顺便说一下,这个方法可行。我不知道有这种可能性。谢谢!
但 mq4 或 mqh 文件的大小会比 png 文件本身大 5 倍。但这是一个可行的方案,因为它不会影响 ex4 文件本身的大小。(它将与 ex5 文件相同)。
请开发人员在此处插入 PNG。
我相信他们会同意的。
我怀疑 MT4 是否会实现任何愿望和要求,尤其是已经宣布 MT4 支持即将结束。
外部 PNG 已解决,加载、缩放和透明度都正常。但是...
在文件中编译 PNG 是否现实?
标准功能...
#resource "\\Files\\123.png"
string nam_img = "::Files\\123.png"
...产生编译错误
我没有深入研究软件与外部文件一起工作的事实,但如何让整个最终产品成为一个文件?
否则就失去了这一功能的实际意义。我还没有在 MT5 中尝试过。在 MT4 中会出现连接错误。
附注:我认为理论上可以编写一个脚本,将 PNG 转换为代码,然后将其放入 MQH,并在一个容器中处理它们。但我写不出这样的脚本。图片数组对我来说是一片盲目的森林。
除了亚历山大建议的方法(通过插入 uchar[] 数组),还有一种通过伪 BMP 的拐杖方法,我已经说过了
关于交易、自动交易系统和测试交易策略的论坛
画布很酷!
Nikolai Semko, 2023.09.25 17:09
不幸的是,在 MQL4 中无法将资源作为数组附加。但其他一切都能正常工作。您可以编写一个脚本,执行从 png 到 bmp 的这种转换(这种文件的伪图像大小将等于 png 文件本身的宽度,高度为 1 像素)。
但您可以使用另一种算法:将带透明度的 PNG 转换为真正的带透明度的 BMP,并通过资源附加它。ex4 文件的大小会比 png 文件略大,因为在 ex4 中,BMP 文件资源是以打包格式存储的。我检查过了,使用 bmp 的 ex4 文件大小会比使用相同图片的 png 格式 ex4 文件大小大 10%-30%。
个人而言,我更喜欢 Slavsky 建议的变体。在一个单独的 mqh 文件中放入一个单独的 uchar 数组,其中包含 png 文件本身,然后通过 include 将其插入代码中,这样巨大的数组就不会使代码变得杂乱无章。
此外,这种方法的优点是您不需要在 MQL4 沙盒中放入任何图形文件,就像资源的情况一样。
请开发人员在此处插入 PNG。
我相信他们会同意的。
让我们把它添加到 MQL5 中。
您可以将文件作为数组插入,然后访问该数组。
附加示例
这个 "插入 "菜单在 ME 中存在多久了?:O
活到老学到老...
让我们将其添加到 MQL5。
市场显示,两个平台的所有产品都是重复的。不幸的是,他们很可能不会使用非跨平台变体,而是继续使用 BMP。
即使现在,您也可以在 MQL5 中附加任何文件。
这种附件将创建一个包含数据的静态数组,而不是资源。在第二种情况下,似乎可以从其他 EX4/5 中获得。将带透明度的 PNG 转换为真正带透明度的 BMP,并通过资源附加。
此选项在 MT4 中不起作用,因为带有阿尔法通道的 BMP 已附加但未显示。
市场显示,两个平台的所有产品都是重复的。很可能不会使用非跨平台变体,而将继续使用 BMP。
我认为 PNG 已经实现了跨平台。它已经可以使用外部文件。上面的例子来自 Nikolay。
您可以以数组形式插入文件,然后访问该数组。
的确如此。这让我大吃一惊。
剩下的工作就是尝试在 Canvas 中实现所有的橡皮感和透明度,就这样,一个小小的 mq4 奇迹就诞生了。
当然,这是为跨平台而做的。因为在 MT4 上使用的是 BMP,而在 MT5 上使用的是 PNG。这可不行。一切都应该是 PNG。
剩下的工作就是尝试在 Canvas 中实现整个橡胶般的透明效果,就这样,一个小小的 mq4 奇迹就诞生了。
因此,一切都已准备就绪。您可以从 PNG 库中提取一个测试示例。只需将带有资源
改为
#include <PNG\iconspng.mqh>
在 iconspng.mqh 文件中插入 png_data[] 数组。
唯一需要记住的是,在 MT4 中,重要的是将 OnChartEvent 中所有昂贵的计算结果输出到计时器中,否则会严重滞后。这纯粹是 MQL4 的胡扯。
,我现在将提供一个不滞后的版本。
我正要上传一个不滞后的版本。
是的,如果 CPU 处于 "最佳性能 "模式,它甚至不会卡顿。
真神奇,ME 中的 "插入 "菜单存在多久了?:O
活到老学到老...
在我尝试插入文件的文件中,我发现了一个创建于 2019 年 11 月的文件。我对它很感兴趣,甚至更早。遗憾的是,我没有找到从此类数组中保存图像文件的脚本。
在我尝试插入此类文件的文件中,我发现了一个创建于 2019 年 11 月的文件。我对它很感兴趣,甚至更早。遗憾的是,我没有找到从此类数组中保存图像文件的脚本。