帆布很酷! - 页 6 12345678910111213...93 新评论 Vitaly Muzichenko 2018.03.23 07:03 #51 Vladimir Karputov:canvas.Rectangle不是一个对象,它是一个画一堆像素的命令。这就像一声枪响--子弹打出去了,就好办了。没有反馈。谢谢你的无反馈意见--知道了。 拉希德-乌马罗夫。有一篇题为《探索CCanvas类》的文章。实现图形对象的透明度,应该有一个解决方案。 我已经查看了217次,现在已经打开了,但我没有看到任何解决方案。 我需要在OnTick()中改变画布和框架颜色的实时例子。 谢谢你! Vladimir Karputov 2018.03.23 07:09 #52 Vitaly Muzichenko:谢谢你的联系--知道了。 我看了217次,现在已经打开了,但我还没有看到解决方案。 需要一个在OnTick()中改变画布和框架颜色的实际例子。 谢谢你!根据我的代码,只是停留在改变画布颜色和画一个框架。 //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- static long counter=0; counter++; if(counter%40==0) { m_canvas.Erase(ColorToARGB(clrBlue,210)); m_canvas.Rectangle(10,10,m_canvas.Width()-10,m_canvas.Height()-10,ColorToARGB(clrRed,255)); m_canvas.Update(); return; } if(counter%20==0) { m_canvas.Erase(ColorToARGB(clrRed,210)); m_canvas.Rectangle(10,10,m_canvas.Width()-10,m_canvas.Height()-10,ColorToARGB(clrBlue,255)); m_canvas.Update(); return; } } 因为我使用透明的颜色,所以我在创建画布时指定了"COLOR_FORMAT_ARGB_NORMALIZE"。 //--- create canvas if(!m_canvas.CreateBitmapLabel("SampleCanvas",5,15,700,300,COLOR_FORMAT_ARGB_NORMALIZE)) 附加的文件: Test_fonts_and_flags.mq5 8 kb Vitaly Muzichenko 2018.03.23 07:13 #53 Vladimir Karputov:根据我自己的代码,我只是把改变画布的颜色和画一个框架。 因为我使用透明的颜色,所以我在创建画布时指定了"COLOR_FORMAT_ARGB_NORMALIZE"。 我现在就去看看,谢谢! 我期望得到的东西--很久以前就得到了,它是一个几乎透明的画布,有一个框架和选区,但现在我需要改变颜色,这不起作用。 Vladimir Karputov 2018.03.23 07:16 #54 Vitaly Muzichenko:我现在就去看看,谢谢! 我期望得到的东西--早就得到了,它是一个几乎透明的画布,有边框和选择,但现在我需要改变颜色,这不起作用。 问题可能出在ENUM_COLOR_FORMAT(创建画布时)和获取颜色的方法上。 Nikolai Semko 2018.03.23 07:57 #55 Vitaly Muzichenko:在OnInit中,我创建了一个画布 然后我需要在OnTick中把10:00的颜色改为灰色,并在11:00再次恢复到原来的状态。 它不起作用。 问题。 如何改变画布和框架的颜色--不参考对象名称? 谢谢你!我有一种感觉,你把颜色弄乱了。 这句话的含义是什么。 ObjectSetInteger(0,"CanvasExamlple",OBJPROP_COLOR,clrNONE); COLOR_FORMAT_ARGB_NORMALIZE不需要用背景色来 填充画布,而是用0来填充。 canvas.Erase(0); 因为它意味着画布是完全透明的。 使用16色的表示法也很方便。 例如: 0x00000000 - 完全透明的黑色 0xFF000000 - 不透明的黑色 0xFFFFFFFFFF - 不透明的白色 0xFFFF0000 - 不透明的红色 0xFF00FF00 - 不透明的绿色 0xFF0000FF - 不透明的蓝色 0x8000FF00 - 半透明的绿色 0x80FFFFFFFF - 半透明的黑色 0xFF808080 - 灰色 等。 Vitaly Muzichenko 2018.03.23 08:29 #56 Vladimir Karputov:可能是ENUM_COLOR_FORMAT(创建画布时)和获取颜色的方法有问题。问题解决了。 我的代码在关闭终端 时没有删除画布,所以启动时画布已经在图表上了,所以没有初始化,属性变化不知道应用在哪里。 谢谢大家! Vitaly Muzichenko 2018.03.23 08:35 #57 Nikolai Semko:我有一种感觉,你把颜色弄乱了。 这句话有什么意义? ObjectSetInteger(0,"CanvasExamlple",OBJPROP_COLOR,clrNONE); 这条线的意义在于,如果没有它,你会得到这样的画面 如果与线,那么这是正确的,一个漂亮的框架与我选择的颜色 Vladimir Karputov 2018.03.23 08:37 #58 Vitaly Muzichenko:问题解决了。 我的代码在关闭终端时没有删除画布,所以当我开始时,画布已经在图表上了,所以它没有初始化,属性变化不知道应用在哪里。 谢谢大家!嗯,你真的无法一下子猜到狗在哪里 :) Nikolai Semko 2018.03.24 03:13 #59 示范一个具有位图缩放功能的脚本 在Ex5文件中,有一个相当大的BMP文件作为资源。 附加的文件: TestScaling.ex5 784 kb Georgiy Merts 2018.03.24 06:38 #60 Nikolai Semko:栅格缩放脚本演示不,这真的令人印象深刻。 但是,你必须制作某种有用的附加组件,利用所有这些Canvas的功能。 这样,你的发展就不会遭受与CGA适配器同样的命运--一个美妙的图形适配器,被同时代人误解和低估了。 我自己一直认为CGA "一如既往地蹩脚",打败了八位的Commodore 64或Sinclair Spectrum。但最近发现,仅仅是因为缺乏人气--几乎没有人使用这张卡片的所有机会。而且几乎没有任何游戏可以在上面与八位家用电脑竞争。 如果IBM推广CGA,如果这个演示在1981年出现--CGA会更受欢迎,可能EGA会在后来发布。 当我看到这个屏幕时,我无法相信这是在带有16K显存的老式CGA适配器上实现的,它连接到普通的家用电视上(RGB显示器根本不适合这样做。 这就是开发者的想法--RGB显示器上的文本质量较高,但调色板较差,但在带有复合输入的家用电视上有丰富的图形可能性,文本不好读)。 12345678910111213...93 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
canvas.Rectangle不是一个对象,它是一个画一堆像素的命令。这就像一声枪响--子弹打出去了,就好办了。没有反馈。
谢谢你的无反馈意见--知道了。
有一篇题为《探索CCanvas类》的文章。实现图形对象的透明度,应该有一个解决方案。
我已经查看了217次,现在已经打开了,但我没有看到任何解决方案。
我需要在OnTick()中改变画布和框架颜色的实时例子。
谢谢你!
谢谢你的联系--知道了。
我看了217次,现在已经打开了,但我还没有看到解决方案。
需要一个在OnTick()中改变画布和框架颜色的实际例子。
谢谢你!
根据我的代码,只是停留在改变画布颜色和画一个框架。
因为我使用透明的颜色,所以我在创建画布时指定了"COLOR_FORMAT_ARGB_NORMALIZE"。
根据我自己的代码,我只是把改变画布的颜色和画一个框架。
因为我使用透明的颜色,所以我在创建画布时指定了"COLOR_FORMAT_ARGB_NORMALIZE"。
我现在就去看看,谢谢!
我期望得到的东西--很久以前就得到了,它是一个几乎透明的画布,有一个框架和选区,但现在我需要改变颜色,这不起作用。
我现在就去看看,谢谢!
我期望得到的东西--早就得到了,它是一个几乎透明的画布,有边框和选择,但现在我需要改变颜色,这不起作用。
问题可能出在ENUM_COLOR_FORMAT(创建画布时)和获取颜色的方法上。
在OnInit中,我创建了一个画布
然后我需要在OnTick中把10:00的颜色改为灰色,并在11:00再次恢复到原来的状态。
它不起作用。
问题。
如何改变画布和框架的颜色--不参考对象名称?
谢谢你!
我有一种感觉,你把颜色弄乱了。
这句话的含义是什么。
COLOR_FORMAT_ARGB_NORMALIZE不需要用背景色来 填充画布,而是用0来填充。
canvas.Erase(0);
因为它意味着画布是完全透明的。
使用16色的表示法也很方便。
例如:
0x00000000 - 完全透明的黑色
0xFF000000 - 不透明的黑色
0xFFFFFFFFFF - 不透明的白色
0xFFFF0000 - 不透明的红色
0xFF00FF00 - 不透明的绿色
0xFF0000FF - 不透明的蓝色
0x8000FF00 - 半透明的绿色
0x80FFFFFFFF - 半透明的黑色
0xFF808080 - 灰色
等。
可能是ENUM_COLOR_FORMAT(创建画布时)和获取颜色的方法有问题。
问题解决了。
我的代码在关闭终端 时没有删除画布,所以启动时画布已经在图表上了,所以没有初始化,属性变化不知道应用在哪里。
谢谢大家!
我有一种感觉,你把颜色弄乱了。
这句话有什么意义?
这条线的意义在于,如果没有它,你会得到这样的画面
如果与线,那么这是正确的,一个漂亮的框架与我选择的颜色
问题解决了。
我的代码在关闭终端时没有删除画布,所以当我开始时,画布已经在图表上了,所以它没有初始化,属性变化不知道应用在哪里。
谢谢大家!
嗯,你真的无法一下子猜到狗在哪里 :)
示范一个具有位图缩放功能的脚本
在Ex5文件中,有一个相当大的BMP文件作为资源。
栅格缩放脚本演示
不,这真的令人印象深刻。
但是,你必须制作某种有用的附加组件,利用所有这些Canvas的功能。
这样,你的发展就不会遭受与CGA适配器同样的命运--一个美妙的图形适配器,被同时代人误解和低估了。
我自己一直认为CGA "一如既往地蹩脚",打败了八位的Commodore 64或Sinclair Spectrum。但最近发现,仅仅是因为缺乏人气--几乎没有人使用这张卡片的所有机会。而且几乎没有任何游戏可以在上面与八位家用电脑竞争。
如果IBM推广CGA,如果这个演示在1981年出现--CGA会更受欢迎,可能EGA会在后来发布。
当我看到这个屏幕时,我无法相信这是在带有16K显存的老式CGA适配器上实现的,它连接到普通的家用电视上(RGB显示器根本不适合这样做。 这就是开发者的想法--RGB显示器上的文本质量较高,但调色板较差,但在带有复合输入的家用电视上有丰富的图形可能性,文本不好读)。