aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 15929|回复: 9

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

[复制链接]

2

主题

4

回帖

38

积分

新手入门

积分
38
发表于 2018-4-12 12:35:41 | 显示全部楼层 |阅读模式
看了一下官网的备注说明:
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();
复制代码

12

主题

645

回帖

3938

积分

荣誉会员

子非魚、安知魚之樂

积分
3938
发表于 2018-4-12 13:00:41 | 显示全部楼层
本帖最后由 xauto 于 2018-4-12 13:17 编辑



用你说的命令行试了试,没发现两者有啥区别

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2018-4-12 13:30:12 | 显示全部楼层
如果你是担心aardio调用sciter的代码有BUG,
你可以右键点 web.sciter.setGraphicsLayer("gdi") ,直接跳转到函数看源码,只有一句代码。看完了再谈一谈你怀疑哪里写错了。

2

主题

4

回帖

38

积分

新手入门

积分
38
 楼主| 发表于 2018-4-12 13:50:24 | 显示全部楼层
xauto 发表于 2018-4-12 13:00
用你说的命令行试了试,没发现两者有啥区别

我知道,有些组件加载后,全局的字体就会出现锯齿,一般情况下是不会出现锯齿的,两种方式打开都是一样的

2

主题

4

回帖

38

积分

新手入门

积分
38
 楼主| 发表于 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样式中来筛选是哪里出的问题了,,,

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2018-4-12 14:20:25 | 显示全部楼层
ice 发表于 2018-4-12 13:55
Jacen,我倒不是担心aardio调用sciter有BUG,,我主要是询问在aardio中这样设置GDI是不是正确的,或者说 ...

web.sciter.setGraphicsLayer("gdi")

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

这个函数的用法可以看该函数的说明,你在写这个函数的时候用法就会自动提示的。
你的用法没有问题。

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2018-4-12 14:25:19 | 显示全部楼层
ice 发表于 2018-4-12 13:50
我知道,有些组件加载后,全局的字体就会出现锯齿,一般情况下是不会出现锯齿的,两种方式打开都是一样的

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

2

主题

4

回帖

38

积分

新手入门

积分
38
 楼主| 发表于 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!问题解决!

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2018-4-12 15:28:25 | 显示全部楼层
ice 发表于 2018-4-12 14:36
谢谢您的热心回复,您说没有语法错误,然后我想那肯定就是我写的htm有问题了,认真看了看htm文件的源码, ...

好的,感谢分享

3

主题

35

回帖

554

积分

培训班

积分
554
发表于 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, 2025-6-15 00:06 , Processed in 0.062805 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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