吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-26 #2 我是专门作了一个注记图层,白色背景(你也可以指定其它颜色,但一定是均一色), 然后用透明方式把这个Bitmap和图形Bitmap进行Bitblt,然后再Draw到前景的Canvas上。 速度很快的,全上海所有街道的名称画出来再帖到前景感觉不到停顿,不用担心。
我是专门作了一个注记图层,白色背景(你也可以指定其它颜色,但一定是均一色), 然后用透明方式把这个Bitmap和图形Bitmap进行Bitblt,然后再Draw到前景的Canvas上。 速度很快的,全上海所有街道的名称画出来再帖到前景感觉不到停顿,不用担心。
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-26 #3 你这方法是好妙,但好像有点别扭,还多用了一个注记BITMAP,对内存也有要求。 其实这方法我以前也想过,但是没有你想的深入透澈,而且有些时候满足不了需求。 还有没有其它直接的办法?比如直接读字库(开玩笑啦)
你这方法是好妙,但好像有点别扭,还多用了一个注记BITMAP,对内存也有要求。 其实这方法我以前也想过,但是没有你想的深入透澈,而且有些时候满足不了需求。 还有没有其它直接的办法?比如直接读字库(开玩笑啦)
吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-26 #4 TTF格式是公开的,你可以按矢量图形方式去读,我也曾经想过这种方法, 不过没有实现(因为我想把TTF扩展为我自己的符号库),有好的实现的话我们可以多交流。
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-26 #5 我觉得直接读字库是得不偿失的,因为别人已经做了这些工作,自己做的话要花大量 时间精力,结果算法不如人家的好,速度性能和稳定性也不如人,还不如用BITMAP。 但你如果只是想把TTF扩展为自己的符号库,只需要把TTF格式搞掂,再存为自己的格 式输出,应该不难。
我觉得直接读字库是得不偿失的,因为别人已经做了这些工作,自己做的话要花大量 时间精力,结果算法不如人家的好,速度性能和稳定性也不如人,还不如用BITMAP。 但你如果只是想把TTF扩展为自己的符号库,只需要把TTF格式搞掂,再存为自己的格 式输出,应该不难。
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-28 #8 看样子没有更好的办法了,我建议微软在WIN2002XP中添加异或方式输出文字的API。
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-29 #10 异或方式就是第一次画出了一个图,第二次再画时可以把它擦掉而不影响背景。 我在作图程序中常用,程序代码简单,不耗内存,速度比较快。
Z zytzjx Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-29 #11 首先要GETDC 再要SelectObject 还要SetROP2(这个API可能是这样写,我记不住了) 下面就好了 用完之后要DelectObject
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-29 #12 zytzjx: 你这方法只对用PEN和BRUSH画出的线、面有效,对文字输出不行,文字输出受FONT影响。
O only you Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-02 #13 需要设置文本的输出方式为透明 如下: 首先获得对象的DC,如BITMAP上的,就getdc; 然后 SetBkMode(hdc,TRANSPARENT); 然后再 TextOut......
Y yyanghhong Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-04 #14 I write a font application, it can get the font from the font library, then convert to bitmap, then you can use this bitmap to do anything you want, who want it, my mail address is yyanghhong@yahoo.com
I write a font application, it can get the font from the font library, then convert to bitmap, then you can use this bitmap to do anything you want, who want it, my mail address is yyanghhong@yahoo.com
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-04 #15 only you: 透明是可以,异或不行。 yyanghhong: I want it, I'll send you a email.
卷 卷起千堆雪tyn Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-04 #16 to Huzzz: 其实你在画布输出文字,可以保存为一幅位图,如果想要擦除,只需要以背景色重画 位图区域就OK。 以异或方式是不可能擦除文字的,它只对画线、画图形之类的操作有用,因为异或方式本身 就是针对画笔pen来设计的。而文字涉及到font的设置,不存在异或。
to Huzzz: 其实你在画布输出文字,可以保存为一幅位图,如果想要擦除,只需要以背景色重画 位图区域就OK。 以异或方式是不可能擦除文字的,它只对画线、画图形之类的操作有用,因为异或方式本身 就是针对画笔pen来设计的。而文字涉及到font的设置,不存在异或。
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-04 #17 卷起千堆雪tyn: 其实我是有点钻牛角尖了,我的需求有好多方法都可以实现,只是我想要一个好的。 事实上我已经保存位图了,这对刷新显示非常必要。 但我还有控件外部的画图代码,要在画布上进行异或画图。 总之这种需求是有的,我们可以探索多种实现方法,看哪种好,也是学习知识。
卷起千堆雪tyn: 其实我是有点钻牛角尖了,我的需求有好多方法都可以实现,只是我想要一个好的。 事实上我已经保存位图了,这对刷新显示非常必要。 但我还有控件外部的画图代码,要在画布上进行异或画图。 总之这种需求是有的,我们可以探索多种实现方法,看哪种好,也是学习知识。
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-06 #18 yyanghhong: I'd recieved the email, thank you.
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-06 #19 卷起千堆雪tyn: 怎么我在分配积分中找不到你的名字? Huzzz,对此问题,您可以: 接受答案,并为 only yousavenightyyanghhongzytzjx吕雪松 加上 200 点积分 接受答案,并分配积分 only you savenight yyanghhong zytzjx 吕雪松 请注意分数总和应为 200 分
卷起千堆雪tyn: 怎么我在分配积分中找不到你的名字? Huzzz,对此问题,您可以: 接受答案,并为 only yousavenightyyanghhongzytzjx吕雪松 加上 200 点积分 接受答案,并分配积分 only you savenight yyanghhong zytzjx 吕雪松 请注意分数总和应为 200 分
H Huzzz Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-06 #20 结束问题了,大家不要有意见啊。 卷起千堆雪tyn: 我现在在分配积分中找到你的名字了。 接受答案,并为 only yousavenightyyanghhongzytzjx卷起千堆雪tyn吕雪松 加上 200 点积分 接受答案,并分配积分 only you 5(I ADD IT) savenight yyanghhong 60 zytzjx 5 卷起千堆雪tyn 50 吕雪松 80 请注意分数总和应为 200 分
结束问题了,大家不要有意见啊。 卷起千堆雪tyn: 我现在在分配积分中找到你的名字了。 接受答案,并为 only yousavenightyyanghhongzytzjx卷起千堆雪tyn吕雪松 加上 200 点积分 接受答案,并分配积分 only you 5(I ADD IT) savenight yyanghhong 60 zytzjx 5 卷起千堆雪tyn 50 吕雪松 80 请注意分数总和应为 200 分