小编Tyl*_*den的帖子

动态生成SVG的高分辨率打印输出

我有一个动态生成的SVG文档的网页.Javascript例程基本上构建了SVG的DOM.读者可以通过单击导致sVG改变的各种"按钮"或对象来操纵文档.(虽然没有动画)

我希望读者能够打印出大幅面,高分辨率的文档图像.我怎样才能做到这一点?

通常,文档会缩放并裁剪以适合屏幕.我可以生成一个巨大的图像,但随后浏览器会裁剪它.

为了了解高分辨率的含义,屏幕图像通常为每英寸89像素,大约11 x 16"左右.大幅面图可以很容易地在36英寸宽的纸上每英寸600像素.我无法弄清楚如何生成这样的打印输出.

有没有办法从动态生成的DOM生成状态SVG标记文档?如果是这样,我可以将静态SVG转换为PDF,然后打印出PDF.

javascript printing svg high-resolution

8
推荐指数
0
解决办法
885
查看次数

如何改进生成多集合组合的算法?

如何优化以下生成器中的方法next()hasNext()方法,以生成有界多重集的组合?(我将它发布到C++以及Java,因为代码是C++兼容的,没有特定于Java的元素,不能直接转换为C++.

有问题的算法的具体区域是hasNext()可能不必要地复杂的整个方法,并且线路:

if( current[xSlot] > 0 ) aiItemsUsed[current[xSlot]]--;

有一个if语句,我认为可以以某种方式删除.我有一个早期版本的算法,它在返回语句之前有一些回溯,因此有一个更简单的hasNext()测试,但我无法使该版本工作.

该算法的背景是很难找到.例如,在Knuth 7.2.1.3中,他只是说它可以完成(并提供练习来证明算法是可行的),但是没有给出算法.同样,我有6个关于组合学的高级文本(包括Papadimitriou和Kreher/Stimson),并且它们都没有给出用于生成多重组合的组合的算法.Kreher将其视为"为读者练习".无论如何,如果您可以改进上述算法或提供比我更有效的工作实现的参考,我将不胜感激.请只给出迭代算法(请不要递归).

/** The iterator returns a 1-based array of integers. When the last combination is reached hasNext() will be false.
  * @param aiItems One-based array containing number of items available for each unique item type where aiItems[0] is the number of item types
  * @param ctSlots  The number of slots into which the items go
  * @return The iterator which generates the …
Run Code Online (Sandbox Code Playgroud)

c++ java algorithm optimization

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

在Java中运行run()方法后,线程会自动收集垃圾吗?

线程是否会自动删除并在运行后收集垃圾,或者它是否继续存在并且即使在run()方法完成后也会占用内存?

例如:

Class A{
  public void somemethod()
  {
  while(true)
  new ThreadClass().start();
  }

   public class ThreadClass extends Thread{
        public ThreadClass()
        {}
        @Override
        public void run() {......}
     }
}
Run Code Online (Sandbox Code Playgroud)

我想澄清一下这个线程是否会自动从内存中删除,还是需要明确地完成.

java multithreading android

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

为什么有些 C/C++ 头文件前面有“sys/”?

一些 C/C++ 标头前面<sys/ioctl.h>有一个前缀。sys/

(也有一些带有net/前缀。)

为什么是这样?

c c++ header

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

以下C宏有什么作用?

#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif
Run Code Online (Sandbox Code Playgroud)

##在C中意味着什么?这是占位符还是功能?

c

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

在多次翻转整个行或列之后获得最小硬币尾数

如果硬币放在网格上并且只能翻转整行或列,我们如何翻转硬币以获得最小数量的尾巴.

我试图使用贪婪的解决方案,在其中我翻转尾部数量大于头部的行或列,并重复该过程,直到数字没有变化.但我发现这种方法在某些时候并没有给我一个最佳解决方案.

HHT
THH
THT
Run Code Online (Sandbox Code Playgroud)

例如,如果像上面那样放置硬币并且我以下面的方式翻转硬币,则获得的值为3但实际上答案是2.

1. Flip the row 3
HHT
THH
HTH
2. Then there exists no row or column where the number of tails are greater than that of heads.
3. But if I flip the column 3, row 3, column 1, there exists a solution whose value is 2.
THH
HHT
HHH
Run Code Online (Sandbox Code Playgroud)

所以,我认为上述算法不起作用.我应该使用什么方法和算法?

algorithm

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

在位置缩放时将SVG元素保持为固定大小

当背景和位置坐标发生变化时,如何将文本或对象保持为固定大小?例如:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:ev="http://www.w3.org/2001/xml-events" 
    width="100%" height="100%"
    viewBox="0 0 50000 50000"
    >
    <circle  cx="25000"  cy="25000" r="100px" fill="red" />
</svg>
Run Code Online (Sandbox Code Playgroud)

在此代码中,圆圈不会是100像素,它将根据视图框大小进行缩放,因此它将很小.

例如,该问题在地图中表现出来.当您在地图上放大和缩小时,您希望代表城市位置的点和标签保持相同的大小,而不是在用户缩放时变大或变小.

graphics svg dictionary transformation

6
推荐指数
2
解决办法
2455
查看次数

在x86汇编中测试负数的最紧凑方法?

目前,我正在这样做以测试x86程序集(r / m32,imm8)中是否为负数:

83F800 CMP EAX, 0
Run Code Online (Sandbox Code Playgroud)

可以跟着JL。这是3个字节,假定时钟为“ 1/2”。我可以使用TEST EAX或CMP EAX,imm32(编码3D),两者的时钟均为“ 1”,但占用5个字节。总的来说,如果我试图最小化代码大小,那么我的做法正确吗?再次,这是为了测试一个数字是否小于零。

x86 assembly

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

在规范模式下处理转义键的任何方法?

在unix plain C termios编程中,如果我使用规范模式从用户接收一行输入,我该如何处理转义键?通常,如果用户正在输入一行文本并按下转义,则不会发生任何事情.如果用户按下escape,我想取消当前输入.我知道我可以处理单个字符,但后来我失去了规范模式(退格等)的所有好处.

c unix terminal termios

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

有没有办法模板抽象方法,以便抽象方法的参数与实现子类的类型相同?

有没有办法模板抽象方法,以便抽象方法的参数与实现子类的类型相同?换句话说,如果我们有:

class Super {
    abstract void a_method( <Sub> param );
}

class Sub_A extends Super {
    void a_method( Sub_A param ){
        ...
    }

class Sub_B extends Super {
    void a_method( Sub_B param ){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

然后每个子类将其自己的类型作为此方法的参数。我想避免使用接口或反射。

java abstract-class parameter-passing

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