搜索
aardio官方社区 门户 查看主题

请教,sciter的绘图引擎如何设置?

发布者: ice | 发布时间: 2018-4-12 12:35| 查看数: 1020| 评论数: 9|帖子模式

看了一下官网的备注说明:
web.sciter.setGraphicsLayer("gdi") = 设置绘图引擎,可选值为"gdi","d2d","auto"

界面上的文字出现了锯齿,老是感觉怪怪的,所以想要设置绘图引擎,
我是这样设置的,请看下面的源码,但是运行后,没有任何效果,sciter官方的scapp.exe在命令行下(scapp.exe sciter-gfx=gdi)是可行的,使用gdi引擎文字没有锯齿了,很是美观,但是aardio中设置好gdi,完全没有任何效果,d2d也不行,不知道是不是我设置错了,下面是我写的源码!大家看看对不对

  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = win.form(text="Sciter";right=1199;bottom=799;border="none")
  4. winform.add()
  5. /*}}*/

  6. import web.sciter;
  7. import web.sciter.behavior.windowCommand;

  8. web.sciter.setGraphicsLayer("gdi");

  9. var wbSciter = web.sciter( winform );

  10. wbSciter.go("/res/html/main.htm",true);

  11. import win.ui.shadow;
  12. win.ui.shadow(winform);
  13. winform.show();
  14. win.loopMessage();
复制代码

最新评论

xauto 发表于 2018-4-12 13:00:41
本帖最后由 xauto 于 2018-4-12 13:17 编辑



用你说的命令行试了试,没发现两者有啥区别
Jacen.He 发表于 2018-4-12 13:30:12
如果你是担心aardio调用sciter的代码有BUG,
你可以右键点 web.sciter.setGraphicsLayer("gdi") ,直接跳转到函数看源码,只有一句代码。看完了再谈一谈你怀疑哪里写错了。

ice 发表于 2018-4-12 13:50:24
xauto 发表于 2018-4-12 13:00
用你说的命令行试了试,没发现两者有啥区别

我知道,有些组件加载后,全局的字体就会出现锯齿,一般情况下是不会出现锯齿的,两种方式打开都是一样的
ice 发表于 2018-4-12 13:55:33
Jacen.He 发表于 2018-4-12 13:30
如果你是担心aardio调用sciter的代码有BUG,
你可以右键点 web.sciter.setGraphicsLayer("gdi") ,直接跳转 ...

Jacen,我倒不是担心aardio调用sciter有BUG,,我主要是询问在aardio中这样设置GDI是不是正确的,或者说我的语法是不是写错了,如果我这样写的是正确的,那么肯定是其他原因造成的文字出现锯齿,我就要从htm样式中来筛选是哪里出的问题了,,,
Jacen.He 发表于 2018-4-12 14:20:25
ice 发表于 2018-4-12 13:55
Jacen,我倒不是担心aardio调用sciter有BUG,,我主要是询问在aardio中这样设置GDI是不是正确的,或者说 ...

web.sciter.setGraphicsLayer("gdi")

没有语法错误,
编辑器会自动生成这句代码。

这个函数的用法可以看该函数的说明,你在写这个函数的时候用法就会自动提示的。
你的用法没有问题。
Jacen.He 发表于 2018-4-12 14:25:19
ice 发表于 2018-4-12 13:50
我知道,有些组件加载后,全局的字体就会出现锯齿,一般情况下是不会出现锯齿的,两种方式打开都是一样的

具体哪些组件加载会有锯齿呢,
提问,最好是把具体的HTML发上来,那些,那些............别人是猜不出来的。
例如有锯齿,很美观, 这种太抽象。

ice 发表于 2018-4-12 14:36:15
Jacen.He 发表于 2018-4-12 14:25
具体哪些组件加载会有锯齿呢,
提问,最好是把具体的HTML发上来,那些,那些............别人是猜不出来 ...

谢谢您的热心回复,您说没有语法错误,然后我想那肯定就是我写的htm有问题了,认真看了看htm文件的源码,终于查到原因,是这行代码惹的祸<html window-frame="solid" window-blurbehind="dark" resizeable>

我的html标签上有一段window-blurbehind="dark",如果有这个的话字体就出现锯齿了,谢谢Jacen!问题解决!
Jacen.He 发表于 2018-4-12 15:28:25
ice 发表于 2018-4-12 14:36
谢谢您的热心回复,您说没有语法错误,然后我想那肯定就是我写的htm有问题了,认真看了看htm文件的源码, ...

好的,感谢分享
nlysh007 发表于 2018-4-12 17:01:33
本帖最后由 nlysh007 于 2018-4-12 17:13 编辑

可以css里设置
  1. .dw { font-rendering-mode:sub-pixel; } /*DirectWrite*/
  2. .gdi { font-rendering-mode:snap-pixel; } /*GDI*/
  3.       
复制代码

补个官方的范例

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=1131;bottom=753)
winform.add()
/*}}*/

import web.sciter;
var wbSciter = web.sciter(winform)
wbSciter.html =
/**
<html>
  <head>
    <title>字体渲染方式</title>
    <style>
   
      ol.samples { flow:horizontal-flow; border-spacing:20px; }
      ol.samples > li:nth-child(even) { clear:after; }
      ol.samples > li.dw { font-rendering-mode:sub-pixel; }
      ol.samples > li.gdi { font-rendering-mode:snap-pixel; }
      
      ol.samples > li.black { background:black; color:white; }
      
      p:nth-child(2) { font-size:6.5pt; }
      p:nth-child(3) { font-size:8.5pt; }
      p:nth-child(4) { font-size:10pt; }
      p:nth-child(5) { font-size:12pt; }
      p:nth-child(6) { font-size:14pt; }
      p:nth-child(7) { font-size:18pt; }
         
    </style>
  </head>
<body>

  <ol .samples>
    <li .dw>
      <h3>DirectWrite, black-on-white</h3>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
    </li>
    <li .gdi>
      <h3>GDI, black-on-white</h3>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
    </li>
    <li .black .dw >
      <h3>DirectWrite, white-on-black</h3>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
    </li>
    <li .black .gdi >
      <h3>GDI, white-on-black</h3>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
      <p>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789</p>
    </li>
  </ol>

</body>
</html>

**/

winform.show()
win.loopMessage();


手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-6-25 06:19 , Processed in 0.062500 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表