亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

實現字體鏡像的幾種方式

系統 3592 0
[size=medium][color=blue]??? 字體的鏡像一直是軟件沒有解決的一個問題,被困擾了幾年都沒人去研究解決。記得剛來公司的時候,也調查過這個任務,也找到一個很有價值的實例。當時找到萬一老師的delphi博客,上面有一篇文章《區域變換》 http://www.cnblogs.com/del/archive/2008/06/03/1212534.html 其中有:
    [/color][/size]
{建立路徑}
  BeginPath(cvs.Handle);
  cvs.TextOut(100, 0, 'F');
  EndPath(cvs.Handle);

  {將路徑轉換為區域}
  Rgn := PathToRegion(cvs.Handle);
......
7: begin {水平鏡像}
      TXF.eM11 := -1;
      TXF.eM12 := 0;
      TXF.eM21 := 0;
      TXF.eM22 := 1;
      TXF.eDx := 200; {需要右移一些才能看到}
      TXF.eDy := 0;
...
{執行變換并重繪}
  Rgn := ExtCreateRegion(@TXF, RgnDataSize, RgnData^);


  

?? 這幾部分的明顯實現了對字體鏡像的功能,由于當時只是看到功能,對這些東西的意義不是很透徹,所以這樣的建議被淘汰了,原因(最大的原因沒人明白其中的意義 )“好像是對一片區域的拷貝,這樣會有問題”。總覺得看著例子很正常啊!怎么會是有問題呢?后來在自己的調查中逐漸也了解了關于path,region的意義。path,region在gdi中也是兩種圖形,通過他們可以用簡單的方式畫出更加多樣的圖像。因為生成光繪的時候如果遇到中文字體的話,就沒辦法自己造字了,因為中文字有很多很多,所以這也是一個一直沒有解決的問題。
??? 后來在研究path圖形的時候,用到以下代碼可以取到字體的邊緣點數據。

    
    BeginPath(PDC);
    TextOut(PDC, x, y, PChar(TextStr), Length(TextStr));
    EndPath(PDC);

  

??? 這樣的話鏡像也可以很容易實現了:
    
    BeginPath(PDC);
    TextOut(PDC, x, y, PChar(TextStr), Length(TextStr));
    EndPath(PDC);

    count := GetPath(PDC, pts^, types^, 0);
    GetMem(pts, count * SizeOf(TPoint));
    GetMem(types, count);
    count := GetPath(PDC, pts^, types^, count);


  


定義:
    
    pts: ^TPArr;
    types: ^TTArr;
    count: Integer;

type
    TPArr = array[0..0] of TPoint;
    TTArr = array[0..0] of Byte;

  


??? 但是這樣畫出來的自己怎么看上去都沒有textout出來的那么清晰,但是也只能這樣了,好像有個GetGlyphOutline聽說得到的點數據會更精確一些,不過沒有確認,這個有些復雜。

??? 另外的方面就是directx 和 opengl 的實現方法,由于對這兩種技術一直沒有機會接觸,所以也就沒有發言權了。

實現字體鏡像的幾種方式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91资源在线视频 | 狠狠操操 | 久久精品.com | 91成年人视频 | 国产区综合另类亚洲欧美 | 国产做爰免费视频观看 | 亚洲视频污 | 久久99国产综合精品 | 特黄aaaaaaaaa真人毛片 | 成人精品视频 | 欧美在线日韩在线 | 99热久久这里只有精品 | 国产国语videosex另类 | 国产精品suv一区二区 | 玖玖色在线 | 国产精品视频ccav | 大陆一级毛片免费视频观看i | 日韩在线操 | 色婷婷亚洲十月十月色天 | 国内久久久久高清影视 | 九九视频国产 | 在线看片777av免费观看 | 欧美久在线观看在线观看 | 亚洲国产成人精彩精品 | 狠狠色噜噜狠狠狠狠98 | 久久亚洲一区二区 | 欧美一级永久免费毛片在线 | 免费毛片网 | 思99热精品久久只有精品 | 天天综合久久久网 | 99看片网| 免费夜色污私人影院网站 | 99re免费视频精品全部 | 欧美国产精品亚洲精品第一区 | 乱色专区 | 欧美人成人亚洲专区中文字幕 | 久草在在线 | 亚洲综合视频网 | 久久天天躁夜夜躁2019 | 69福利视频 | 午夜日韩在线 |