|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2017/4/18 16:23:29 |
标题: |
移植了FreeType,显示是能显示了,但是遇到些问题,求指点(另:呼唤武稀松大侠) |
浏览:1954 |
|
加入我的收藏 |
楼主: |
把castle引擎中处理ttf的代码移植到了delphi上。效果如下图。 现在是能把字体取出来显示了,但是取出来的字都是倒的,截图看到的效果是我在最后把整图bitmap做了垂直镜像处理。 希望能不要做镜像处理,应该是在画每个字符的时候对字符的bitmap数据做处理,这个真的不懂,求指点。
此帖子包含附件:
大小:18.1K |
----------------------------------------------
虽千万人吾往矣! |
作者: |
|
2017/4/18 16:26:47 |
1楼: |
移植的代码和freetype.dll在附件。
新建一个工程,64位用64位的dll,32位用32位的dll。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2017/4/18 17:10:47 |
2楼: |
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
该账号是个傻逼
|
作者: |
|
2017/4/18 17:13:35 |
3楼: |
每个人都呼唤 武大侠,他要累倒咯。。。
----------------------------------------------
kittyapp
|
作者: |
|
2017/4/18 17:21:16 |
4楼: |
移植freetype到delphi这个事情,目前delphi在这块是空白的,做这个事情我觉得还是比较有意义的。 武大侠绝对是这个方面的前辈,我是希望他能帮忙看看怎么完善一下。让这个代码以后可以开放出来给有需要的人安心使用。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2017/4/18 17:22:34 |
5楼: |
前两天我只取一个字符的时候,发现好像是ft出来的bitmap数据就是倒的,但是不确定。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
bjlg (蓝天) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/4/18 19:25:35 |
6楼: |
把视图的坐标原点调整到与窗口坐标即图片文件坐标一致,都移到左下角。
Windows系统显示图像有视图和窗口两个概念,视图就是展现在显示器的区域,窗口就是源图像的位置,窗口一般是加载到windows系统的图片文件。视图一般是CRect定义的,坐标原点位于左上角。而窗口坐标即图片文件坐标在左下角,有些函数是从左下角开始读数据,所以当视图和窗口的坐标不变的时候,视图中的图像是颠倒的,原因就是图片文件的最下层显示在了视图的最上层。
----------------------------------------------
http://delphi.icm.edu.pl/ftp/http://delphi-z.ru
|
作者: |
|
2017/4/19 9:40:10 |
7楼: |
感谢楼上各位的指点,字体倒置的问题已经基本解决。虽然效果还不好。 procedure TFreeTypeFont.InternalDrawChar(const pvCharBitmap: TCharBitmap; const pvImageX, pvImageY: Cardinal); var k, RX, RY: Integer; begin k:= 0; for RY := pvCharBitmap.H - 1 downto 0 do begin for RX := pvCharBitmap.W - 1 downto 0 do FCanvas.PutPixel(pvImageX + RX, pvImageY + pvCharBitmap.H - 1 - RY, InvertPixel2(pvCharBitmap.Data^[k + RX])); // Inc(k, pvCharBitmap.Pitch); end; end;
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2017/4/19 10:30:28 |
8楼: |
动态字体的贴图管理 http://blog.codingnow.com/2013/04/dfont.html
看了一些文章,发现还是有不少问题需要解决。castle处理出来的效果倒是不错,可惜不想用这个引擎。下图是castle渲染出来的效果。
此帖子包含附件:
大小:129.2K |
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2017/4/19 19:26:37 |
9楼: |
看看AggPas吧,也有FreeType
----------------------------------------------
-
|
作者: |
|
2020/8/5 19:22:20 |
10楼: |
标记下回头翻译 过来试试 8楼算法
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
|
|