VC三兩句話實現字型描邊和空心效果

2021-05-11 03:01:00 字數 619 閱讀 9189

最近的專案需要對字型進行描邊,也就是將字型縷空。為了實現不同桌面背景圖使字型看上去清楚,目前通用的解決方案就是將字型描邊。關鍵現在這款晶元 的gui開發包功能比較弱,一些特殊效都需要自己手動實現,汗。要實現這個效果的第乙個想到的解決方案就是將系統字型的點陣取出,進行邊緣檢測出來,進行 處理,運算的開銷不小,而且處理起來麻煩,國際化也是個麻煩。

在羅大俠的指點的下(為羅大俠能想出這種歪注意表示萬分感謝),想到了乙個好的方法。只需寫乙個描邊函式即可,實現相當容易。我在pc下做了乙份,效果如下圖:

主要實現思路是用背景色將要顯示的字型按偏移刷8遍(為了方便演算法的實現,我在下面的**中刷了9遍),最後將前景的字型再刷一遍。實現**:

void cshadowfontview::drawshadow(cdc *pdc, cstring & str, colorref clrtxt, colorref clrbg, int x, int y)

}pdc->settextcolor( clrtxt );

pdc->textout(x+1, y+1, str);

}

測試了createfont的畫圈效果:

shadowfont.7z(18.0 kib, 254 hits)

兩句話寫的很好

只要你經商,就會有錢賺。備註 1.有這個想法,主要 於最近倒賣幾塊電路板,賺了幾百快錢,發現錢來得太容易了,我只是在網上和人聊聊天而已,雖然我不是陪聊,但是他們給我送錢了。2.經商的重大意義,在於大膽地開啟自己的口袋,讓錢可以很方便地流進來 土一點的道理就是,要是你不把帳號告訴別人,別人就不好打錢給...

兩句話筆記,記住ROWNUM

試驗用表 create table table demo id number 10 name varchar2 10 原來是用100條有序記錄試驗,有誤。已刪除 declare i int 1 begin loop insert into table example values i,user i ...

再說兩句話 mysql 優化問題

原貼 http www.fcicq.net wp p 273 september 23,2006 at 19 37 45 filed under mysql sqlite,技術文件 使用了random posts外掛程式.重談mysql的優化問題.index cache開大點行不行?query ca...