亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        提詞器軟件的四種實(shí)現(xiàn)方式

        2014-07-07 13:48:09杜歆文
        電視技術(shù) 2014年2期
        關(guān)鍵詞:文本框鏡像字體

        杜歆文

        (蘇州廣播電視總臺(tái),江蘇 蘇州 215006)

        提詞器軟件的四種實(shí)現(xiàn)方式

        杜歆文

        (蘇州廣播電視總臺(tái),江蘇 蘇州 215006)

        隨著應(yīng)用和技術(shù)的發(fā)展,臺(tái)內(nèi)原有的提詞器軟件漸漸不能滿足使用需求,因此需要對(duì)其進(jìn)行改進(jìn)。在實(shí)際過程中嘗試了許多方法,介紹了4種提詞器軟件的實(shí)現(xiàn)方式,剖析其原理,介紹了實(shí)現(xiàn)方法,提供部分代碼,并對(duì)4種方式的優(yōu)劣進(jìn)行比較,同時(shí)為平板設(shè)備上的提詞器軟件做準(zhǔn)備。

        提詞器;字體;鏡像;翻轉(zhuǎn);Windows呈現(xiàn)基礎(chǔ)

        提詞器是通過一個(gè)高亮度的顯示器件顯示文稿內(nèi)容,并將顯示內(nèi)容反射到攝像機(jī)鏡頭前的一塊呈45°的專用鍍膜玻璃上,把臺(tái)詞反射出來,使得演講者在看演講詞的同時(shí),也能面對(duì)攝像機(jī)。由于鏡面反射,要想看到正確的圖像,顯示器必須顯示鏡像圖像。蘇州臺(tái)現(xiàn)有提詞器軟件是十多年前自行開發(fā)的,當(dāng)時(shí)CRT是主流顯示器,對(duì)于CRT顯示器實(shí)現(xiàn)鏡像顯示很容易,只需要將行偏轉(zhuǎn)輸出信號(hào)反接即可。在LCD顯示器時(shí)代,通過硬件實(shí)現(xiàn)鏡像輸出就比較麻煩,只能通過更換屏幕控制電路完成。這不是一種很經(jīng)濟(jì)的實(shí)現(xiàn)方法,隨著設(shè)備老化、備件減少,蘇州臺(tái)決定更新提詞器軟件。

        提詞器軟件結(jié)構(gòu)很簡(jiǎn)單,打開或粘貼文本文件,以鏡像方式全屏輸出。雖然有廠商提供成品,但還是決定自行設(shè)計(jì)開發(fā),在開發(fā)過程中,研究并嘗試了一些方法。

        1 方式一:圖像翻轉(zhuǎn)

        這種方法是常規(guī)解決方法,根據(jù)文字內(nèi)容生成一張圖片,顯示圖片并使其滾動(dòng)。

        提詞器通常至少需要用到顯卡的2路輸出:1路輸出接操作屏幕,以下簡(jiǎn)稱主屏;1路輸出連接到攝像機(jī)前的屏幕,以下簡(jiǎn)稱副屏。在主屏文本框編輯內(nèi)容完成后,生成一張圖片臨時(shí)文件,使圖片在副屏顯示,并控制其上下移動(dòng)。由于玻璃的反射,需要副屏左右顛倒鏡像顯示。對(duì)于圖片實(shí)現(xiàn)鏡像較為容易,左右像素交換即可。

        2 方式二:字體翻轉(zhuǎn)

        這是一種特別的處理方法。提詞器副屏的顯示是通過把實(shí)際文字左右鏡像,因此可以把每個(gè)文字都鏡像顯示,同時(shí)把每行文字從右向左顯示。

        處理方法如下:

        1)生成鏡像字體

        選擇需要做鏡像的字體,比如說“仿宋”,從“C:WindowsFonts”文件夾中復(fù)制出來,利用Fontogra?pher,F(xiàn)ontCreator或者AsiaFontStudio等軟件,打開字庫,可以進(jìn)行水平鏡像或者垂直鏡像,這里需要水平鏡像,完成變換后生成新的字庫。

        2)字體格式轉(zhuǎn)換

        由于生成的字體格式是otf格式,而visualstudio中只能使用ttf格式的字體,需要進(jìn)行格式轉(zhuǎn)換??梢允褂肍ontForge這類軟件進(jìn)行格式轉(zhuǎn)換,也有不少網(wǎng)站提供在線轉(zhuǎn)換的服務(wù)。

        將轉(zhuǎn)換后的字體文件復(fù)制進(jìn)“C:WindowsFonts”文件夾中即完成鏡像字體的安裝,可以在編程環(huán)境中進(jìn)行使用。部分程序可能在重啟后生效。

        3)自動(dòng)折行轉(zhuǎn)成硬回車

        完成字體轉(zhuǎn)換后還需要將文本從右向左顯示。文本框載入文本后會(huì)按照寬度自動(dòng)換行,需要取出每一行將其逆序顯示,因此需要將自動(dòng)折行轉(zhuǎn)換成回車換行,以讀取每行文字。參考以下代碼(C#):

        5)滾動(dòng)顯示

        到目前為止,已經(jīng)完成了文本的鏡像顯示,只需要加入定時(shí)器使文本框滾動(dòng)即可。

        3 方式三:文本框翻轉(zhuǎn)

        WPF(WindowsPresentationFoundation)是微軟推出的基于WindowsVista的用戶界面框架,是新一代圖形系統(tǒng)[1-3],運(yùn)行在.NETFramework3.0架構(gòu)下,為用戶界面、2D/3D圖形、文檔和媒體提供統(tǒng)一的描述和操作方法。借助WPF,可以輕松完成很多以前很難實(shí)現(xiàn)的視覺效果。

        在WPF中可以使用TranslateTransform,RotateT?ransform,ScaleTransform等進(jìn)行幾何變換,但要使用更底層的MatrixTransform(矩陣變換)來進(jìn)行更復(fù)雜的復(fù)合變換。

        MatrixTransform矩陣變換,其實(shí)就是其他變形類的底層實(shí)現(xiàn)代碼,其他的類都是基于這個(gè)類的擴(kuò)展,使用戶可以更加簡(jiǎn)單方便地應(yīng)用。各類默認(rèn)值參考表1。

        表1 各類默認(rèn)值

        在該方法中,至少需要2個(gè)RichTextBox,其中1個(gè)正常顯示用于監(jiān)看,1個(gè)鏡像顯示用于提詞器,兩者寬高比應(yīng)相同。由于RichTextBox縮放后,內(nèi)容字體大小不會(huì)一起縮放,因此,需要按比例設(shè)置2個(gè)文本框內(nèi)文字大小,以保證兩者內(nèi)容換行位置相同。

        鏡像操作參考以下代碼(xaml):

        該段代碼表示將寬1024、高768的RichTextBox向左翻轉(zhuǎn)鏡像,再向右平移1024像素保持在屏幕中間。

        4 方式四:VisualBrush類

        在WPF中,微軟提供了VisualBrush類。Visual?Brush.Visual屬性獲取或設(shè)置畫筆的內(nèi)容,使用Visual繪制區(qū)域。指定VisualBrush的Visual內(nèi)容有兩種方法:創(chuàng)建一個(gè)新Visual,并使用它來設(shè)置VisualBrush的Visual屬性;或使用現(xiàn)有Visual,它將創(chuàng)建目標(biāo)Visual的重復(fù)圖像,然后可以使用VisualBrush來創(chuàng)建一些有趣的效果,例如反射和放大。

        為VisualBrush定義一個(gè)新的Visual,該Visual是一個(gè)UIElement(如面板或控件),此處為監(jiān)看窗口的Rich?TextBox,把VisualBrush填充區(qū)域等比例設(shè)置為提詞器顯示屏全屏大小,Visual將RichTextBox繪制填充至此區(qū)域。

        與上述TranslateTransform類似,VisualBrush類提供了一個(gè)繼承自Brush的Transform屬性,獲取或設(shè)置應(yīng)用于畫筆的變換,同樣應(yīng)用矩陣變化,可實(shí)現(xiàn)鏡像翻轉(zhuǎn)。參考代碼如下(xaml):

        也可以如方法三所述,采用MatrixTransform矩陣變換進(jìn)行鏡像翻轉(zhuǎn)。參考代碼如下(xaml):

        5 滾動(dòng)的實(shí)現(xiàn)

        提詞器的使用過程中,僅僅鏡像顯示是不夠的,還需要控制顯示內(nèi)容向上向下滾動(dòng)。這里采用了一種比較簡(jiǎn)單的方法。

        首先創(chuàng)造一個(gè)定時(shí)器,設(shè)置時(shí)間刻度之間的時(shí)間段大小,即多長(zhǎng)時(shí)間發(fā)出一次。然后為該定時(shí)器綁定一個(gè)事件,超過定時(shí)器間隔時(shí)發(fā)生。在該事件中,定義一個(gè)遞增變量,讓RichTextBox滾動(dòng)到該變量位置。參考代碼如下(C#):

        通過調(diào)整時(shí)間間隔m_timer.Interval和pos變量每次遞增的大小,控制RichTextBox滾動(dòng)速度,并達(dá)到一個(gè)平滑滾動(dòng)狀態(tài)。

        6 總結(jié)

        本文介紹了4種提詞器軟件的實(shí)現(xiàn)方法,4種方法各有優(yōu)劣。方法一圖像翻轉(zhuǎn)是傳統(tǒng)的處理方法,優(yōu)點(diǎn)在于實(shí)現(xiàn)方便,滾動(dòng)平滑,但一旦文字長(zhǎng)度太長(zhǎng),生成圖片的時(shí)間會(huì)比較長(zhǎng)。方法二字體翻轉(zhuǎn)另辟蹊徑,沒有借助語言特性,任何編程語言都能實(shí)現(xiàn)該功能,但實(shí)驗(yàn)發(fā)現(xiàn)字體處理后顯示效果差強(qiáng)人意。方法三文本框翻轉(zhuǎn)利用了微軟強(qiáng)大的WPF,WPF在界面處理上很有幫助,這種方法實(shí)現(xiàn)效率高、效果好,但由于監(jiān)看窗口和提詞器窗口是2個(gè)RichTextBox,大小不同,里面的文字大小需要等比縮放才能保證監(jiān)看與實(shí)際顯示相同,但實(shí)驗(yàn)過程中發(fā)現(xiàn)這點(diǎn)很難控制,文字寬度和字號(hào)不是嚴(yán)格的比例關(guān)系,會(huì)發(fā)生2個(gè)窗口換行不一致的情況。方法四使用VisualBrush,同樣利用WPF,由于提詞器窗口是監(jiān)看窗口的鏡像,所以克服了方法三的缺點(diǎn),實(shí)驗(yàn)中表現(xiàn)較好,載入數(shù)萬甚至數(shù)十萬的大段文字速度也較快,只是文字?jǐn)?shù)量過多時(shí),剛開始滾動(dòng)會(huì)有些不流暢,但考慮到實(shí)際使用時(shí)這種極限情況幾乎不會(huì)發(fā)生,所以可以忽略不計(jì)。

        另外,值得一提的是現(xiàn)在越來越多的播音主持發(fā)生在演播室外,所以需要考慮一種便攜提詞器設(shè)備,平板PC就是一個(gè)很好的載體。微軟發(fā)布的WindowsRT平板應(yīng)用程序基于XAML和C#編寫,和WPF程序有很大的相似性,只需要對(duì)部分界面和功能稍作修改,就可以移植到WindowsRT平板PC上,成為便攜式提詞器。

        [1]WALTHERS.ASP.NET3.5揭秘[M].北京:人民郵電出版社,2009.

        [2]賽爾斯,格里菲思.WPF編程[M].金璐,夏明才,譯.北京:機(jī)械工業(yè)出版社,2009.

        [3]ANDRADEC,LIVERMORES,MAYERSM.WPF高級(jí)編程[M].王德才,吳明飛,譯.北京:清華大學(xué)出版社,2008.

        TN948

        B

        ??健男

        2013-07-25

        【本文獻(xiàn)信息】杜歆文.提詞器軟件的四種實(shí)現(xiàn)方式[J].電視技術(shù),2014,38(2).

        猜你喜歡
        文本框鏡像字體
        巧用文本框?qū)崿F(xiàn)PPT多圖片排版
        鏡像
        字體的產(chǎn)生
        PPT文本框的另類應(yīng)用
        鏡像
        小康(2018年23期)2018-08-23 06:18:52
        文本框酷變3D效果
        鏡像
        小康(2015年4期)2015-03-31 14:57:40
        鏡像
        小康(2015年6期)2015-03-26 14:44:27
        組合字體
        文本框在地理課件中的應(yīng)用
        亚洲乱码中文字幕综合久久| 中日韩精品视频在线观看| 青青草97国产精品免费观看| 97久久精品人人妻人人| 亚洲欧美日韩高清一区二区三区| 91久国产在线观看| 国产精品自产拍av在线| 国产精品无码翘臀在线观看| 人成午夜免费视频无码| 国产精品自在线拍国产手机版| 中文字幕亚洲情99在线| 激情综合欧美| 精品国产性色av网站| 亚洲国产日韩综一区二区在性色 | 国产成人vr精品a视频| 亚洲国产18成人中文字幕久久久久无码av | 国产真实乱对白精彩| 国产成年女人特黄特色毛片免| 伊人久久一区二区三区无码| 国产成人自拍视频视频| 久久丝袜熟女av一区二区| 中文在线中文a| 国产成人亚洲精品无码h在线| 日韩免费小视频| 丝袜 亚洲 另类 欧美| 久久一区二区三区少妇人妻| 人妻少妇被粗大爽.9797pw| 欧洲vat一区二区三区| 日产无人区一线二线三线新版 | 久久久g0g0午夜无码精品| a观看v视频网站入口免费| 国产无套粉嫩白浆内精| 91三级在线观看免费| 日韩欧美成人免费观看| 熟女人妻在线视频| 一本大道在线一久道一区二区| 免费在线亚洲视频观看| 熟女少妇内射日韩亚洲| 日本午夜免费福利视频| 成人国产永久福利看片| 精品视频一区二区在线观看|