问题标签 [pixman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
465 浏览

x11 - 有没有办法完全禁用 pixman

我在我的手臂目标上安装了 pixman,为了进行基准测试,我想完全禁用 pixman(如果可能的话!)。有没有办法在不实际删除它的情况下很好地做到这一点。

我知道 PIXMAN_DISABLE 标志,但这会完全关闭它还是只是它的工作方式会改变(比如打开或关闭 sse2)?

0 投票
1 回答
678 浏览

c - Pixman 合成与 Alpha 混合

下面是一个小测试程序(在小端机器上工作)。

事实上,结果对我来说已经很奇怪了:

正如我所期望的填充颜色 #FFFFFFFF x 掩码 0x80 = #FFFFFF80 和 #9090FFFF 的输出......

现在,如果我通过更改“cfill.alpha = uint16_t(0x80) << 8;”将填充颜色设置为#FFFFFF80 ,结果似乎真的错了:

我希望填充 x 掩码 => #FFFFFF40,因此输出:#606060C0FF。

我特别不明白较低的 alpha 输入颜色如何最终在目标图像上以较亮的输出结束。

我在这里做错了什么?是否有另一个 PIXMAP_OP_xxx 可以按我的预期工作?

谢谢。

0 投票
1 回答
211 浏览

alphablending - 如何修改 alpha 预乘图像不透明度?

我有一个 alpha 预乘图像,需要更改它的不透明度。应用于图像的不透明度变化可以从 0.0 到 1.0。

使用以下公式很容易实现此过程:

但是,我试图避免自己编写此代码,并允许高度优化的库 pixman 完成这项工作。它们提供了各种混合选项,但我不太确定如何使用遮罩或使用哪个混合选项。我曾尝试使用 MULTIPLY 但这只是让图像像预期的那样变暗,我猜......

我应该使用哪个潜在的混合选项有什么想法吗?

这是实际的复合函数:

0 投票
1 回答
4244 浏览

pixman - 修复 pixman_region_init_rect 错误

我知道这是一个已经存在一段时间并已修复的错误。但我的情况似乎有点不同。当我通过终端在 gedit 中打开一个文本文件时,我收到此错误:

我知道这是因为我的主题,因为我在切换主题时没有收到错误消息。但我真的很喜欢我的主题,不想改变它。相反,我想弄清楚是什么或哪些行导致了错误,并纠正它们。但是,我不知道具体该怎么做。在 Android 中,我可以简单地运行 adb logcat,看看是什么导致了问题。但我不在 Android 上,我在运行 cinnamon 桌面的 Linux Mint 17.2 上。所以,我的问题是,我怎样才能记录这个错误或以某种方式追踪它?

0 投票
1 回答
386 浏览

c++ - main() 为空的程序可以分配内存吗?

我一直在我的程序中寻找一个与-lcairo和链接的内存问题-lX11。最后,我决定注释掉我的所有行main()并确保它valgrind是快乐的。令我惊讶的是,它不是:

一个空的程序可以main()分配内存并最终得到一些可访问的块吗?有没有办法摆脱这个奇怪的问题?

0 投票
1 回答
308 浏览

2d - 绘制一定角度的线性渐变

我正在尝试使用该pixman_image_create_linear_gradient()函数使用 libpixman 绘制线性渐变。它适用于绘制从左到右和从上到下运行的渐变,但我不知道如何以特定角度(0-360 度)绘制渐变,就像在 CSS 中可能的那样。例如,旋转 45 度的线性渐变。

我认为必须使用参数p1p2因为它们定义了渐变方向,但根本没有文档,我真的不知道如何使用这两个参数来旋转渐变。

对于垂直渐变,我只需将它们设置为

对于我使用的水平渐变

但是我应该使用哪些值进行任意旋转?简单地对点应用 2D 旋转矩阵看起来不正确,例如,当绘制 640x480 的渐变并将其旋转 45 度时,我最终得到了点

它以正确的方向绘制渐变,但渐变两侧大约有 80 个像素的空白空间,所以我一定做错了什么。

任何人都可以告诉我如何做到这一点吗?

谢谢!

0 投票
1 回答
592 浏览

c++ - 在构建 pixman 库时,提示总是说“找不到 xxx.h(std header”?

我使用的是 Windows 10 系统,VS2015。我现在想构建 pixman-0.34.0。这里的教程:http: //cairographics.org/end_to_end_build_for_win32/告诉我使用这些提示行:

但是,powershell(或 msys64)总是告诉我

“pixman-0.34.0\pixman\pixman.h(105): 致命错误 C1083: 无法打开包含文件: 'stdint.h': 没有这样的文件或目录”

这很奇怪,因为我的计算机中确实存在 < stdint.h > !如果我创建一个包含 <stdint.h> 的新 .cpp 文件,我可以成功编译它。

我试图将所有源代码从 pixman 的根目录移动到 VS 的包含目录...提示现在告诉没有 <time.h> 文件。

我想我需要在某处设置包含目录,但我不知道该怎么做。

它现在几乎让我发疯。我花了一整天的时间试图解决它,但我的尝试都没有奏效。

谁能帮我?

0 投票
1 回答
565 浏览

cairo - pixman 0.34.0 ios、android 构建

我正在尝试为 iOS 和 Android构建 pixman-0.34.0 ( http://cairographics.org/releases/ )。

./configure 脚本的选项列表:

  • --disable-libtool-lock 避免锁定
  • --disable-openmp 不使用 OpenMP
  • --disable-loongson-mmi 禁用龙芯MMI快速路径
  • --disable-mmx 禁用 x86 MMX 快速路径
  • --disable-sse2 禁用 SSE2 快速路径
  • --disable-ssse3 禁用 SSSE3 快速路径
  • --disable-vmx 禁用 VMX 快速路径
  • --disable-arm-simd 禁用 ARM SIMD 快速路径
  • --disable-arm-neon 禁用 ARM NEON 快速路径
  • --disable-arm-iwmmxt 禁用 ARM IWMMXT 快速路径
  • --disable-arm-iwmmxt2 使用 -march=iwmmxt 而不是 -march=iwmmxt2 构建 ARM IWMMXT 快速路径
  • --disable-mips-dspr2 禁用 MIPS DSPr2 快速路径
  • --disable-gcc-inline-asm 禁用 GNU 风格的内联汇编器
  • --enable-static-testprogs 将测试程序构建为静态二进制文件 [default=no]
  • --enable-timers 启用 TIMER_BEGIN 和 TIMER_END 宏 [default=no]
  • --enable-gtk 启用使用 GTK+ 的测试 [default=auto]
  • --enable-libpng 构建对 libpng 的支持(默认值:自动)

iOS 和 Android 平台不需要什么?

0 投票
1 回答
77 浏览

homebrew - jhbuild bootstrap 看不到 brew 的 pixman

我正在尝试按照本指南为 Mac OS (10.11.6 El Capitan) 安装一些缺少的依赖项

pixman有一个问题:

Pixman 已经通过 brew 安装和链接,但 jhbuild 无论如何都会尝试构建它,并且在运行“make -j 9”时失败。

我已经尝试过选项'擦除目录并重新开始'/'clean'/'distclean',并且jhbuild clean在重新启动引导程序之前也尝试过。它不起作用。

他们在指南中提到:

还假设您没有使用 brew、fink、macports 等任何东西。

但是,以前也有类似的问题,intltool并且jhbuild clean&sudo port install intltool工作得很好。

你知道为什么 jhbuild 不能识别 brew 的 pixman 吗?我会很感激任何帮助。谢谢!

0 投票
2 回答
484 浏览

pixman - pixman_region32_init() 的实现在哪里?

库:http ://www.pixman.org/

存储库:https ://cgit.freedesktop.org/pixman/tree/

无效 pixman_region32_init (pixman_region32_t *region);

我找不到该功能的实现..

谢谢...