小编rod*_*gob的帖子

访问外部SVG文件中定义的DOM对象

SVG标准允许使用和引用外部SVG文件.

我有一个文件circle.svg定义了一个id为"the_circle"的圆形对象.从主SVG文件中我可以使用SVG链接包含此圆圈并为其设置动画.

我也想通过javascript访问相同的圈子对象,我该怎么做?什么是javascript相当于xlink:href="url(#the_image)#the_circle"

使用document.getElementById('the_image')我只能访问SVGImageElement,但不能访问包含的SVG中定义的对象.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >

  <image 
    id="the_image"
    x="0" y="0"  width="100%" height="100%"
    xlink:href="circle.svg" />

  <animateTransform     
    xlink:href="url(#the_image)#the_circle"

    attributeName="transform" attributeType="XML"
    type="translate" 
    from="0" to="25"
    dur="1s" repeatCount="indefinite" 
    additive="replace" fill="freeze" />
</svg>
Run Code Online (Sandbox Code Playgroud)

javascript svg dom

12
推荐指数
2
解决办法
1万
查看次数

boost :: multi_array视图和子数组之间有什么区别

看完文档后我无法想出这个.

我可以写代码等

typedef boost::multi_array<boost::int32_t, 3> data_t;

// 3d --
typedef data_t::array_view<3>::type data_3d_view_t;

// 2d --
typedef data_3d_view_t::reference data_2d_subarray_t;
typedef data_t::array_view<2>::type data_2d_view_t;
Run Code Online (Sandbox Code Playgroud)

然后我可以通过类型data_2d_subarray_t或访问使用2d切片data_2d_view_t.

他们之间有什么区别?
对于一个我不能用另一个做的人,我该怎么办?
它有任何性能差异吗?

非常感谢您向我澄清这一点.最好的问候,rodrigob.

c++ boost boost-multi-array multidimensional-array

11
推荐指数
1
解决办法
2518
查看次数

如何将元数据附加到视频的每个帧

我希望能够在视频文件的每一帧上存储元数据(每帧约10个条目的值映射的键).

哪种视频格式允许我存储这些数据?

我在哪里可以找到一个c ++库来做到这一点?

非常感谢您的回答.

c++ video file-format metadata

9
推荐指数
1
解决办法
2237
查看次数

在Dart中将类类型作为变量传递

可以在Dart中将类类型作为变量传递?

我想做的事情如下:

class Dodo
{
  void hello() {
    print("hello dodo");
  }
}

void main() {

var a = Dodo;
var b = new a();
b.hello();

}
Run Code Online (Sandbox Code Playgroud)

在python类似的代码将工作得很好.在Dart中,我new a()抱怨错误,这a不是一种类型.

可以使用类对象作为变量吗?如果没有,推荐的工作是什么?

dart dart-mirrors

9
推荐指数
2
解决办法
3557
查看次数

寻找一个易于使用的C++嵌入式键值存储

我需要编写一个C++应用程序来读取和写入大量数据(超过可用的RAM),但总是按顺序方式.

为了使数据保持未来的证明和易于记录的方式,我使用Protocol Buffer.然而,协议缓冲区不处理大量数据.

我以前的解决方案包括为每个数据单元创建一个文件(并将它们全部存储在一个目录中),但这似乎不是特别可扩展.

这次我想尝试使用嵌入式数据库.为了具有类似的功能,我只需要存储key-> values关联(因此sqlite似乎有点矫枉过正).值将是Protocol Buffer的二进制序列化输出.

我希望数据库能够管理"内存中的内容,移动到磁盘上的内容"问题,"如何有效地在磁盘上存储大量数据"问题,理想情况下,优化我的顺序读取模式(通过阅读事前的下一个条目).

寻找替代品我对缺乏替代品感到惊讶.我不想将数据库保留在一个单独的进程中,因为我不需要这种分离(这排除了redis).

我发现的唯一选择是Berkeley DB,但它有一个令人不快的低级别C api.然后,我找到的最佳选择是在Berkeley DB之上的stldb4.API似乎非常好,符合我的需求.

不过我很担心.stldb4似乎很奇怪(它依赖于libferris的东西),非维护的解决方案(一年前的最后一个版本),对于我会遇到的问题很常见.

你们中有谁对如何管理这个问题有更好的建议吗?

谢谢你的回答.

c++ large-data-volumes protocol-buffers key-value-store

7
推荐指数
1
解决办法
2166
查看次数

将图像推入gstreamer管道

在玩了一些玩具应用程序,浏览文档和谷歌搜索(包括邮件列表档案)后,我仍然对我认为是一个相当常见的用例感到困惑.

我有一个现有的代码生成图像(在内存中),我想将这些图像推送到gstreamer管道(最后创建一个flv视频).

我找不到"显而易见的方法".我最好的猜测是挖掘GstMultiFileSrc的源代码及其父GstPushSrc来解决它.

你们中的任何人都可以指出我这样做的"显而易见的方式"吗?是否有相关的文档/教程/示例?

一旦我输入正确,剩下的就是小菜一碟,感谢Gstreamer非常棒!(类似"我的魔法输入 - > ffmpegcolorspace!ffenc_flv!flvmux!filesink location = desktop.flv")

谢谢你的回答.

c++ video image gstreamer

6
推荐指数
1
解决办法
9224
查看次数

它是否与Ruby的Wicket等效?

我们的想法是用纯XHTML模板替换ERB,并且视图将是操作模板内容的纯代码.

这已经完成了吗?

ruby java wicket template-engine ruby-on-rails

5
推荐指数
1
解决办法
774
查看次数

QML 文本滚动

我正在使用 C++ 和 QML 创建一个漂亮的界面。我想要一个“控制台视图”,随着时间的推移打印大量文本。但是,当文本项或 webview 内容的文本增长时,视图不会“向下滚动”。

如何使 text/webview 项目底部的文本始终可见?

我曾尝试玩 flickable 和 the_webview.evaluateJavaScript + window.scrollTo ,但我无法让他们做我想做的事。这似乎是一个相当简单的 UI,但我在使用 QML 时遇到了严重的麻烦。

谢谢你的回答。

c++ qt webview qml

5
推荐指数
3
解决办法
7046
查看次数

Rails通过现有数据库进行迁移

我正在创建一个新的Rails 3.1应用程序.我希望这个新应用程序重用现有数据库(由以前的rails 2应用程序创建).

我创建了定义模型的新应用程序,它重用了数据库中的一些现有数据.

在开发和测试阶段,一切正常,因为它在一个干净的工作表数据库上运行,但在尝试部署到生产时,我得到的消息如下:

PGError: ERROR:  column "email" of relation "users" already exists
*** [err :: localhost] : ALTER TABLE "users" ADD COLUMN "email" character varying(255) DEFAULT '' NOT NULL
Run Code Online (Sandbox Code Playgroud)

但是我在迁移中的想法就像

class DeviseCreateUsers < ActiveRecord::Migration
  def change
    change_table(:users) do |t|
      t.database_authenticatable :null => false
      t.recoverable
      t.rememberable
      t.trackable
      t.timestamps
    end
end
Run Code Online (Sandbox Code Playgroud)

如何使db:migrate忽略已存在的内容并仅更改新内容和/或新类型?

我在stackoverflow上看到了类似的问题,但没有人回答这个问题.谢谢你的回答.

ruby database postgresql ruby-on-rails rails-migrations

5
推荐指数
1
解决办法
2712
查看次数

读取图像序列的最快方法是什么?

我有一个速度关键的程序,它将反复从磁盘读取图像并从中计算值。图像太多,无法存储在内存中。

将读取同一组图像,我们不会更改/编辑它们,并且它们的顺序是固定的。

并非所有图像都具有相同的大小,但当编码为 PNG 时,它们都大约为 1 Mb。它们有数以万计,大部分 RAM 已经用于存储计算值。

除了购买更快的磁盘或使用 RAID,读取图像序列的最快方法是什么?

将它们全部放在一个大的 tar 文件中(并使用自定义解压缩代码读取它们),而不是作为文件夹中的单个文件会更快吗?

我找不到PNG解码的多线程实现,所以这个阶段也可能成为瓶颈。使用 WebP 而不是 PNG 会提供额外的速度优势吗?

我应该考虑/评估哪些其他想法?

c++ io performance image

5
推荐指数
1
解决办法
3511
查看次数

推荐的方式来分发Halide生成的函数?

我目前正在尝试使用Halide,初步测试显示出非常有前景的性能改进.

我现在想知道分发Halide代码的最佳策略是什么.要求用户安装Halide在这个时间点似乎是一个很大的障碍(因为没有自动安装选项).

一种选择是使用compile_to_c,在存储库中添加生成的C代码,并为这样的C代码分发编译脚本.scikit-learn为Cython生成的代码使用了类似的策略.对于Halide来说,这似乎是不行的,因为生成的C代码失去了所有的优化,从而破坏了Halide的目的.

我目前的想法是使用 compile_to_bitcode,将生成的bitcode与调用llc的编译脚本一起分发以生成所需的机器代码.用户的唯一要求是安装llc(即llvm).

有没有人有这个问题的经验?
我分发bitcode的想法有什么利弊?
你会推荐什么?

software-distribution image-processing llvm llc halide

5
推荐指数
1
解决办法
833
查看次数