999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

提詞器軟件的四種實現方式

2014-07-07 13:48:09杜歆文
電視技術 2014年2期
關鍵詞:內容方法

杜歆文

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

提詞器軟件的四種實現方式

杜歆文

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

隨著應用和技術的發展,臺內原有的提詞器軟件漸漸不能滿足使用需求,因此需要對其進行改進。在實際過程中嘗試了許多方法,介紹了4種提詞器軟件的實現方式,剖析其原理,介紹了實現方法,提供部分代碼,并對4種方式的優劣進行比較,同時為平板設備上的提詞器軟件做準備。

提詞器;字體;鏡像;翻轉;Windows呈現基礎

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

提詞器軟件結構很簡單,打開或粘貼文本文件,以鏡像方式全屏輸出。雖然有廠商提供成品,但還是決定自行設計開發,在開發過程中,研究并嘗試了一些方法。

1 方式一:圖像翻轉

這種方法是常規解決方法,根據文字內容生成一張圖片,顯示圖片并使其滾動。

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

2 方式二:字體翻轉

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

處理方法如下:

1)生成鏡像字體

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

2)字體格式轉換

由于生成的字體格式是otf格式,而visualstudio中只能使用ttf格式的字體,需要進行格式轉換。可以使用FontForge這類軟件進行格式轉換,也有不少網站提供在線轉換的服務。

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

3)自動折行轉成硬回車

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

5)滾動顯示

到目前為止,已經完成了文本的鏡像顯示,只需要加入定時器使文本框滾動即可。

3 方式三:文本框翻轉

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

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

MatrixTransform矩陣變換,其實就是其他變形類的底層實現代碼,其他的類都是基于這個類的擴展,使用戶可以更加簡單方便地應用。各類默認值參考表1。

表1 各類默認值

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

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

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

4 方式四:VisualBrush類

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

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

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

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

5 滾動的實現

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

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

通過調整時間間隔m_timer.Interval和pos變量每次遞增的大小,控制RichTextBox滾動速度,并達到一個平滑滾動狀態。

6 總結

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

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

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

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

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

TN948

B

??健男

2013-07-25

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

猜你喜歡
內容方法
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
內容回顧 溫故知新
科學大眾(2021年21期)2022-01-18 05:53:48
內容回顧溫故知新
科學大眾(2021年17期)2021-10-14 08:34:02
學習方法
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 在线观看免费国产| 激情五月婷婷综合网| 精品一区二区三区视频免费观看| 91最新精品视频发布页| 久久综合久久鬼| 性欧美精品xxxx| 亚洲美女久久| 四虎成人在线视频| av一区二区无码在线| 制服丝袜一区| 国产亚洲精品无码专| 国产精品九九视频| 高清乱码精品福利在线视频| 亚洲有无码中文网| 少妇极品熟妇人妻专区视频| 精品国产黑色丝袜高跟鞋| 青草视频免费在线观看| 中文字幕2区| 成年女人a毛片免费视频| 欧美国产日本高清不卡| 自拍偷拍一区| 国产后式a一视频| 国产成人综合久久精品尤物| 国产中文在线亚洲精品官网| 国产在线啪| 免费在线国产一区二区三区精品| 日韩精品高清自在线| 亚洲一区二区日韩欧美gif| 久久这里只有精品2| 最新国产午夜精品视频成人| 2020亚洲精品无码| 好吊妞欧美视频免费| 国产成人AV男人的天堂| 亚洲无码不卡网| 欧美一级视频免费| 2020最新国产精品视频| 超碰免费91| 国产一在线| 六月婷婷激情综合| 九九免费观看全部免费视频| 一级一级一片免费| 亚洲有码在线播放| 毛片a级毛片免费观看免下载| 久久精品国产国语对白| 国产伦精品一区二区三区视频优播| 久久国产成人精品国产成人亚洲 | 欧美国产日韩在线观看| 免费jjzz在在线播放国产| 欧美黄色a| 伊人成人在线| 成人日韩视频| 国产欧美日韩另类精彩视频| 国产精品污污在线观看网站| 精品午夜国产福利观看| 国产主播一区二区三区| 日韩AV手机在线观看蜜芽| 99视频在线精品免费观看6| 欧美国产视频| 欧美在线精品一区二区三区| 2021国产在线视频| 国产精品网曝门免费视频| 青青青视频蜜桃一区二区| 奇米精品一区二区三区在线观看| 亚洲黄色网站视频| 国产高清又黄又嫩的免费视频网站| 国产精品久久久精品三级| 在线播放91| 国产精品欧美激情| 国产一区二区丝袜高跟鞋| 国产欧美精品午夜在线播放| 亚洲精品天堂在线观看| 在线无码九区| 国产精品久久久久久搜索| 日韩区欧美区| 色亚洲成人| 亚洲一区二区三区国产精华液| 久久无码av一区二区三区| 国产美女精品人人做人人爽| 午夜欧美在线| 日韩福利在线视频| 久热中文字幕在线观看| 国产欧美自拍视频|