亚洲免费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)用
        国产高清一区二区三区三州| 麻豆AV免费网站| 国产人禽杂交18禁网站| 亚洲av手机在线观看| 国产精品久人妻精品老妇| 无码人妻丰满熟妇区五十路百度| chinese国产在线视频| 亚洲国产一区中文字幕| 亚洲av无码乱码国产麻豆| 欧美aaaaaa级午夜福利视频| 久久精品国产亚洲不av麻豆| 国产精品丝袜美腿诱惑| 欧美最猛性xxxx| 无码人妻精品一区二区三区不卡| 国产精品视频一区日韩丝袜| 色噜噜色哟哟一区二区三区| 久久国产精品一国产精品金尊| 中国丰满熟妇xxxx| 日韩亚洲国产av自拍| 色婷婷在线一区二区三区| 亚洲国产美女精品久久久久∴| 亚洲人成人77777网站| 中文字幕高清无码不卡在线| 中文字幕精品一区二区的区别| 东北少妇不带套对白| 亚洲AV电影天堂男人的天堂| 亚洲中文有码一区二区| 日本精品一区二区三区福利视频| 毛片大全真人在线| 亚洲不卡电影| 亚洲精品国产综合久久| 夫妇交换性三中文字幕| 青青操国产在线| 久久蜜臀av一区三区| 国产日产精品_国产精品毛片| 国产乱人伦精品一区二区| 亚洲a∨好看av高清在线观看| 国产一区二区三区av免费| 特级无码毛片免费视频尤物| 毛片av在线播放亚洲av网站| 高清中文字幕一区二区三区|