小编skr*_*rat的帖子

QWebView欠采样SVG渲染

我想使用QWebView进行SVG缩略图作业,因为它支持过滤器(不同于仅支持SVG Tiny 1.2的QSvgRender).它似乎工作得很好,除了字体渲染,但可以使用fontconfig包调整.问题是它似乎是过滤器的欠采样元素.没有滤镜的元素看起来很好而且清晰,而带滤镜的元素则像素化且模糊.

from  PyQt4.QtGui import *
from  PyQt4.QtCore import *
from PyQt4.QtSvg import *
from PyQt4.QtWebKit import *
import sys
import time

if __name__ == '__main__':

    app = QApplication(sys.argv)

    data = open('/home/xxx/workspace/yyy/zzz/out.svg').read()

    # svg = QSvgRenderer(QByteArray(data))
    qim = QImage(int(1024), int(768), QImage.Format_ARGB32)                                                                                                                                                                                 
    web = QWebView()
    web.setRenderHint(QPainter.SmoothPixmapTransform)
    web.setRenderHint(QPainter.Antialiasing)
    web.setRenderHint(QPainter.TextAntialiasing)
    painter = QPainter()

    def load_finished(ok):
        web.resize(1024,768)
        painter.begin(qim)
        # svg.render(painter)
        web.render(painter)
        painter.end()

        print "null:", qim.isNull()
        qim.save('test2.png')
        sys.exit()

    web.connect(web, SIGNAL('loadFinished(bool)'), load_finished)
    web.load(QUrl('file:///home/xxx/workspace/yyy/zzz/out.svg'))
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

Qt 4.7.使用Inkscape,rsvg或Chrome,Firefox渲染时,相同的SVG文件看起来不错.

结果

python qt svg webkit pyqt

19
推荐指数
1
解决办法
1879
查看次数

我可以在无头服务器上运行GLU(OpenGL)吗?

我们试图在无头的GNU/linux服务器上使用GLU的tesselation函数.我们想使用PyOpenGL,但问题是它在调用gluNewTess时出现崩溃(分段错误)

gdb backtrace说它在glGetError中,这让我觉得GLU tesselation需要GL上下文?或者它只是PyOpenGL中的一些复杂性?

我试图找到一些关于如何在无头(和虚拟化)机器上初始化GL上下文的信息,没有运气.有关这些主题的任何信息表示赞赏.

python opengl graphics triangulation glu

11
推荐指数
2
解决办法
8202
查看次数

如何以整数形式反转RGB颜色?

给定32位无符号整数形式的RGB颜色(例如0xFF00FF),如何在不使用bitshift操作提取其各个组件的情况下将其反转(获得负色)?

我想知道是否可以使用按位运算(AND,OR,XOR).

更确切地说,使用最少数量指令的算法是什么?

graphics colors

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

你如何在浏览器中打断JS?

对于Chrome和Firefox,在控制台中按Ctrl + C相当于什么?在实现各种算法的过程中,我经常while在Javascript中编写一些buggy()循环,它不会退出,会使浏览器冻结.重装不起作用,点击小X的关闭标签没有做任何事情,并且在一段时间(直译)我走的内存,系统交换,和我离开了喝咖啡休息.

javascript browser firefox google-chrome

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

滚动单元格在100%高度表中

如果这已经得到了回答,我很抱歉,但是搜索"100%身高"的东西有点困难.

我的问题是我需要100%高度的表格布局,因为浏览器自动调整大小,我不想因为显而易见的原因而自行编写脚本.

它不同于其他"100%问题",因为我需要一些细胞粘在顶部,一些细胞粘在底部,并通过浏览器调整中间值以填充剩余空间.

那种工作,问题发生在我需要中间部分来包含溢出的东西,显然我想要溢出:自动在那里启用用户通过那些东西.它适用于WebKit,在Firefox中,它没有,其他没有经过测试.这是测试用例.

<html>
<head>
    <style>

        body, html {
            height: 100%;
            margin: 0;
            padding: 0;
        }

        table {
            height: 100%;
            width: 200px;
            border: 0;
        }

        .fill {
            background-color: red;
        }

        .cont {
            overflow: auto;
            height: 100%;
        }

    </style>

</head>
<body>
    <table>
        <tr>
            <td style="height:50px"></td>
        </tr>
        <tr>
            <td style="height:100px"></td>
        </tr>
        <tr>
            <td class="fill">
                <div class="cont">
                    An opaque handle to a native JavaScript object. A JavaScriptObject cannot be created directly. JavaScriptObject should be declared as the return type of a JSNI …
Run Code Online (Sandbox Code Playgroud)

html css layout html-table

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

排除子模块的子模块

我有 git repo,在那里我使用extern/dir 中的git 子模块链接我的一些依赖项。假设我有一个依赖项A作为子模块,位于extern/A. 现在A本身有一些依赖项作为 git 子模块。InA的回购,即,例如。A/test/data/X.

现在,当我克隆我的 repo 并运行时git submodule update --init --recursive,为了在 CI 服务器上构建它,或者,我希望上面的命令忽略exter/A/test/data/X,因为它就像我不想要的 1G 数据。

然而,我的其他依赖项有一些有用的子模块,所以我不能跳过--recursive. 有没有办法做到这一点?

git git-submodules

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

如何使用ruby-prof和JMeter分析Rails

我想使用ruby-prof和JMeter来描述一个Rails应用程序.我对建议的特定控制器/动作/或模型方法的分析方法不感兴趣,我想从上到下分析完整的堆栈.

所以我运行这样的事情:

RAILS_ENV=production ruby-prof -f prof.out script/server > /dev/null
Run Code Online (Sandbox Code Playgroud)

然后我在上面运行我的JMeter测试计划.然而问题是在用CTRL + C或SIGKILL中断它之前,它也会在写入任何输出之前杀死ruby-prof.如何在不中断ruby-prof的情况下停止mongrel服务器?

ruby performance profiling ruby-on-rails

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

如何发布具有根 package.json 依赖项的纱线工作区?

我正在尝试将一个(纱线)工作区从 monorepo 发布到 npm 存储库,并将根项目的依赖项包含在已发布的包中。设置如下:

  • package.json(包含共享依赖项,例如所有工作区使用的单一版本的 React)
  • library/(这是我想要发布的,为了在这个 monorepo 之外使用,发布的 package.json 应包含根依赖项以及库本地)
  • Library/package.json(包含库特定的依赖项)
  • app1/(使用的应用程序)
  • app1/package.json(包含应用程序本地依赖项,并依赖于
  • app2/(使用库的应用程序)
  • app2/package.json(包含应用程序本地依赖项,并依赖于

所以我想做的是cd libraryyarn publish。我期望发生的是,发布的包的工作方式与我的 monorepo 本地应用程序的工作方式完全相同。问题是,yarn 不会合并来自 monorepo root 的依赖项package.json,并且发布的包package.json仅包含来自 library/package.json 的库本地依赖。因此,当任何人安装这个已发布的包时,它都会被破坏,因为它从library/package.json中未列出的包(依赖项)导入模块。

我真的需要编写一个自定义发布 shell 脚本,在运行之前将根的package.json依赖项合并到library/package.jsonyarn publish中吗?

node.js npm monorepo yarnpkg yarn-workspaces

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

如何分析 Closure Compiler 包大小

我在 ClojureScript 中有一个应用程序,它使用 Google 的 Closure Compiler 作为编译器后端。使用高级优化的结果包似乎太大了。我归咎于依赖关系,但如何找出哪些模块在输出包中占用了最多的字节?我浏览了所有 Closure Compiler 选项,没有发现任何有用的东西。然后我尝试了解源映射并使用它来计算单个模块的大小,但没有成功。

我想要一个树状输出,我可以在其中挖掘并找到大小方面最大的模块,例如。

  • [+] goog100kb
    • [+] goog.net30kb
  • [+] react90kb
  • [+] my50kb
    • [+] my.namespace30kb

javascript compilation google-closure-compiler clojurescript

5
推荐指数
2
解决办法
453
查看次数

4
推荐指数
1
解决办法
438
查看次数

在iPad上使用JS进行图像缓存

我正在研究一种用于iPad的纹理选择器.所以基本上只是一堆图像元素.为了避免图像重新加载和延迟,我Image在JS中缓存并重用了这些对象.这个排序

/**
 * Asynchronous version of memoize for use with callback functions. Asserts
 * that last argument is the callback.
 *
 * @param  {Function} func
 * @return {Function}
 */
 util.memoize.async = function(func) {
    var cache = {};
    return function() {
        var hash = JSON.stringify(arguments);
        var args = Array.prototype.splice.call(arguments, 0);
        var callback = args.pop();
        if (hash in cache) {
            return callback.apply(this, cache[hash]);
        }
        args.push(function() {
            cache[hash] = Array.prototype.splice.call(arguments, 0);
            callback.apply(this, cache[hash]);
        });
        return func.apply(this, args);
    };
};

/**
 * …
Run Code Online (Sandbox Code Playgroud)

html javascript html5 caching ipad

4
推荐指数
1
解决办法
2164
查看次数

Ruby中的'Object'命名类

如果我在模块内部使用Object作为我的类的名称,它有任何缺点吗?

module Some
  class Object; end
end
Run Code Online (Sandbox Code Playgroud)

ruby class

3
推荐指数
1
解决办法
195
查看次数

函数/宏仅在参数从上次调用更改时才执行函数体

这应该类似memoize,但非常不同.虽然memoize应该与纯函数一起使用,但加速IO相关函数通常很有用.

我正在寻找的函数/宏应该表现得像高阶函数.它产生的功能应该:

  • 当第一次调用时,它应该调用原始函数,将参数传递给它
  • 记住:参数,返回值
  • 当第二次被叫时
    • 使用相同的参数:它应该返回memoized返回值
    • 使用不同的参数:忘记最后的参数并返回值,调用原始函数,记住当前参数和返回值
  • 当第n次调用时,总是将参数与最后一次调用进行比较,并且行为如上所述.

macros functional-programming clojure clojurescript

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