帆布很酷! - 页 31

 
Nikolai Semko:

谢谢,Andrey :)

我将解释,安德鲁,我对你的问题 "是否可以用视频保存?"的逻辑推理。
在回答任何问题之前,我试图通过现有的手段了解谁在问这个问题以及他的水平。为了,第一,更正确、更明白地建立我的答案,第二,理解一个非常模糊的问题的含义,以免用问题回答问题。
很明显--我去看了你的资料。
  • 如果我看到那里的评分是162分,并且已经在论坛上呆了2-5个月,我就会明白这个问题是由一个新手提出的。
而我的回答很简单:"目前,MT5中没有实现视频保存,但如果你想的话,可以做到"。
  • 但我记得你的名字经常出现在论坛上,从你的资料中,我意识到我面对的是一个经验丰富的程序员,他在论坛上呆了10多年,他的帖子数量比我多5倍,他的武器库中至少有一篇文章、5个已完成的工作和3个QB代码,他的评分比我高2倍以上。
所以我想,你对MT5的功能非常熟悉,对文档的了解程度不亚于我,我断定你的问题是关于保存视频的潜在能力,你对我的意见很感兴趣,因为我对Canvas的方法有点了解。
这就是为什么我开始以潜在能力的形式回答你。
  • 或者你只是另一个自作聪明的人和喜欢取笑别人的人,比如 "你的扫帚会飞"。

不过我并不关心那些班门弄斧的人,一般来说,他们都是自以为很聪明的人,但实际上他们非常不聪明,而且很笨拙。 通常他们只需要一些心理上的合气道技巧,然后就会在巨大的骚动中崩溃。


ZS 至于月亮,你的回答 "不 "让我微笑。知道这一点,这是你的正确答案。对于这样的问题,我的'错误'答案又会有所不同,这取决于谁在问我这个问题。



你可以哲学化很多,也可以哲学化很久,但问题的意义就在表面,而且是立即、清楚、明确地。在回答这个问题时,要说一下从屏幕上录制视频的问题...是什么))如果你这么喜欢猜测水平。MT5文件与此有什么关系?

 
Dmitry Fedoseev:

而且你知道,一百年前在这里,佐罗演示了通过画布播放动画的gif。不是一些晦涩的循环视频序列,而是一个简单的gif动画。

我不知道这一点。你必须弄清楚gif的格式,并对其进行剖析,形成框架。我不认为这是非常困难的。但这样你也可以很容易地记录标准的弯曲,如果你了解格式的话。
 
Nikolai Semko:
我没有。你必须弄清楚gif格式,并对其进行剖析,形成框架。我不认为这是非常困难的。但这样你也可以很容易地记录标准的弯曲,如果你了解格式的话。

如果是未压缩的,就和avi一样简单。两者都不难,你只需要知道如何做,但到目前为止没有人知道。我认为用GIF来搞清楚的机会更大。

最好注意一下这个 建议。 因为即使你能想出如何创建一个未压缩的视频,你也不会走得很远,文件大小会太大。

 
Nikolai Semko:
你为什么这样认为呢?

从答案来看。

 
当我想到视频时,我想到的是压缩视频的算法,即编解码器,否则就是小儿科了
 

还有一个选择,它可能是最有趣和最有用的。Win API。AVIFileOpen()、AVIFileCreateStream()等。

 
Nikolai Semko:

首次实验的动态时间框架。

欧元兑美元 在动态中的所有历史。

.

分裂性是明显的。

准则

在板条下面选择窗口和比例。


 
Nikolai Semko:

谢谢你,安德鲁 :)

我将解释,安德鲁,我对你的问题 "是否可以用视频保存?"的逻辑推理。
在回答任何问题之前,我试图通过现有的手段了解谁在问这个问题以及他的水平。为了,第一,更正确、更明白地建立我的答案,第二,理解一个非常模糊的问题的含义,以免用问题回答问题。
很明显--我去看了你的资料。
  • 如果我看到那里的评分说是162分,并且已经在论坛上呆了2-5个月,我就会明白这个问题是由一个新手提出的。
而我的回答很简单:"目前,MT5中没有实现视频保存,但如果你想的话,可以做到"。
  • 但我记得你的名字经常出现在论坛上,从你的资料中,我意识到我面对的是一个经验丰富的程序员,他已经在论坛上呆了10多年,他的帖子数量比我大5倍,他的武器库中至少有一篇文章、5个已完成的工作和3个QB代码,他的评分比我高2倍以上。
所以我想,你对MT5的功能非常熟悉,对文件的了解程度不亚于我,我断定你的问题是关于保存视频的潜在能力,你对我的意见感兴趣,因为我对Canvas的方法有点了解。
这就是为什么我开始以潜在能力的形式回答你。
  • 或者你只是另一个聪明的家伙和喜欢取笑别人的人,比如 "你的扫帚会飞"。

但是,对戏谑者我不太在意,因为一般来说,他们是自认为很聪明的人,但实际上他们很不聪明,很笨拙,对他们来说,一般来说,只要有一点心理上的合气道技巧就够了,他们会在一般的笑声中崩溃。


ZS 至于月亮,你的答案 "不 "让我微笑。知道这一点,这是你的正确答案。对于这样的问题,我的'错误'答案又会有所不同,这取决于谁在问我这个问题。



 
Nikolai Semko:

...
你是如何组装框架的?
我不明白你是如何从ME捕获代码的。
如果甚至只是通过截图,无论如何做得很好,因为我可以看到它们是包装的。
你的工作值得关注。

ZS 这条线虽然是我创造的,但不知为什么,它更像是一条流水线,因为画布是我的一种爱好和出口。
但我不觉得我是这里的老板,也不觉得这是某种私人领地。门是开着的。 欢迎每个人的到来。欢迎所有的人。 甚至还有巨魔,因为它们有时会给你带来动力。:)

谢谢你,尼古拉斯。

//------------------------------

培训。

1.我在一个简单的编辑器 "FastStone "中收集框架,对所需区域进行截图,或用Camtasia拍摄一个片段,然后将框架转移到FastStone。

2.我对框架进行处理(添加阴影、箭头、文本),并将它们以.bmp格式保存在Images\MyGif文件夹中(每个gif都有自己的子文件夹)。

3.框架的名称应该是 "1.bmp"、"2.bmp"、"3.bmp",......这是创建Gif的脚本所需要的。

4.在ME中打开脚本,通过#resource整合所有的框架。

//-------------------------------

脚本的原则。

1.脚本循环播放这些帧,并通过ReasourceReadImage来读取它们。

2.该脚本一次加载两个框架--新的和以前的:1和2,然后2和3,然后3和4....并对新帧和前一帧的像素颜色进行比较。如果颜色发生了变化,脚本就会把像素号和它的新颜色写进一个数组。因此,只有自上一帧以来发生变化的像素和颜色被写入。如果一个像素的颜色在第一帧后没有变化,那么具有该颜色的像素将被写入一次。这是第一个压缩机制。

3.第二种压缩机制:具有相同颜色的像素行被缩短。如果像素行的颜色从一个像素重复到另一个像素,脚本就会开始一个计数重复的周期,并将起始像素的编号(重复序列从该像素开始,颜色和重复次数)写入阵列。

这样一来,脚本就会压缩帧并打包成gif。在循环结束时,收集到的数组被写入 带有gif名称的文件,之后构造函数通过读取kib-code加载它。接口可以包含任何数量的菌丝,但每个菌丝都被分配到它自己的元素和它在数组中的开始,写在graph.kernel的元素属性中。

//--------------------------------

菌丝繁殖的机制。

1.每个hyph都有几个属性:在菌丝阵列中的原点、帧数、帧的大小、帧之间的停顿。

2.一个特殊的块循环浏览内核对象,并搜索gif的属性。该区块的检查。

  • 元素中存在的菌丝。
  • 该项目是否可见或隐藏
  • 该项目是否可见

如果检查通过,该块就会访问特定菌丝地址处的菌丝阵列,查看。

  • 计数器
  • 暂停计数器

如果这些检查都通过了,该装置就继续读取菌丝。

1.该单元加载画布,在画布上绘制gif。

2.设备读取当前帧并解包。

  • 按编号找到合适的像素,并计算它们在整个画布中的位置
  • 在正确的位置绘制正确颜色的像素。
  • "解压 "具有相同颜色的像素序列。

块不仅通过帧移动,计算它们之间的停顿,而且通过不同窗口中不同元素的不同hiffs,跳过那些隐藏在可视区域后面或关闭的窗口中的hiffs。

//--------------------------

这就是那种工作。以为这很容易,但当我讲出来时,我被复杂的情况弄得有点 "震惊 "了:)。

ZS.一个图像大小为800*600的GIF被压缩到20倍以上。如果我设法把所有的东西都写在一个char数组中,压缩率将再增加4倍。但是,这肯定会使调色板变得贫乏。
 
但 "gif "与此有什么关系?