⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _ocr_example_image_container_8cpp-source.html

📁 基于symbian 平台 ocr 示例程序
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00089"></a>00089 <span class="comment">// From CCoeControl.</span><a name="l00090"></a>00090 <span class="comment">// -----------------------------------------------------------------------------</span><a name="l00091"></a>00091 <span class="comment">//</span><a name="l00092"></a><a class="code" href="class_c_ocr_example_image_container.html#6775621e6d3ce05d6685555c939c7706">00092</a> TKeyResponse <a class="code" href="class_c_ocr_example_image_container.html#6775621e6d3ce05d6685555c939c7706">COcrExampleImageContainer::OfferKeyEventL</a>( <span class="keyword">const</span> TKeyEvent&amp; aEvent,<a name="l00093"></a>00093                                                         TEventCode aType )<a name="l00094"></a>00094     {<a name="l00095"></a>00095     <span class="keyword">const</span> TInt stepInPixels = 10;<a name="l00096"></a>00096     TKeyResponse resp = EKeyWasNotConsumed;<a name="l00097"></a>00097 <a name="l00098"></a>00098     <span class="comment">// key-events meaningful only with crosshair</span><a name="l00099"></a>00099     <span class="keywordflow">if</span> ((<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>) &amp;&amp; (aType == EEventKey))<a name="l00100"></a>00100         {<a name="l00101"></a>00101         <span class="keywordflow">switch</span>( aEvent.iScanCode )<a name="l00102"></a>00102             {<a name="l00103"></a>00103             <span class="keywordflow">case</span> EStdKeyRightArrow:<a name="l00104"></a>00104                 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>-&gt;Move( stepInPixels, 0 );<a name="l00105"></a>00105                 DrawDeferred();<a name="l00106"></a>00106                 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00107"></a>00107 <a name="l00108"></a>00108             <span class="keywordflow">case</span> EStdKeyLeftArrow:<a name="l00109"></a>00109                 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>-&gt;Move( -stepInPixels, 0 );<a name="l00110"></a>00110                 DrawDeferred();<a name="l00111"></a>00111                 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00112"></a>00112 <a name="l00113"></a>00113             <span class="keywordflow">case</span> EStdKeyDownArrow:<a name="l00114"></a>00114                 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>-&gt;Move( 0, stepInPixels );<a name="l00115"></a>00115                 DrawDeferred();<a name="l00116"></a>00116                 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00117"></a>00117 <a name="l00118"></a>00118             <span class="keywordflow">case</span> EStdKeyUpArrow:<a name="l00119"></a>00119                 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>-&gt;Move( 0, -stepInPixels );<a name="l00120"></a>00120                 DrawDeferred();<a name="l00121"></a>00121                 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00122"></a>00122             }<a name="l00123"></a>00123         }<a name="l00124"></a>00124     <span class="keywordflow">return</span> resp;<a name="l00125"></a>00125     }<a name="l00126"></a>00126 <a name="l00127"></a>00127 <span class="comment">// -----------------------------------------------------------------------------</span><a name="l00128"></a>00128 <span class="comment">// COcrExampleImageContainer::Draw(const TRect&amp; aRect) const</span><a name="l00129"></a>00129 <span class="comment">// Draw this application's view to the screen</span><a name="l00130"></a>00130 <span class="comment">// -----------------------------------------------------------------------------</span><a name="l00131"></a>00131 <span class="comment">//</span><a name="l00132"></a><a class="code" href="class_c_ocr_example_image_container.html#67f946ca7848ec78de4961c5bcefdb72">00132</a> <span class="keywordtype">void</span> <a class="code" href="class_c_ocr_example_image_container.html#67f946ca7848ec78de4961c5bcefdb72">COcrExampleImageContainer::Draw</a>( <span class="keyword">const</span> TRect&amp; aRect )<span class="keyword"> const</span><a name="l00133"></a>00133 <span class="keyword">    </span>{<a name="l00134"></a>00134     CWindowGc&amp; gc = SystemGc();<a name="l00135"></a>00135 <a name="l00136"></a>00136     <span class="comment">// draw empty background</span><a name="l00137"></a>00137     gc.SetPenStyle( CGraphicsContext::ENullPen );<a name="l00138"></a>00138     gc.SetBrushColor( KRgbWhite );<a name="l00139"></a>00139     gc.SetBrushStyle( CGraphicsContext::ESolidBrush );<a name="l00140"></a>00140     gc.DrawRect( aRect );<a name="l00141"></a>00141 <a name="l00142"></a>00142     <span class="comment">// if image has been loaded, draw it also</span><a name="l00143"></a>00143     <span class="keywordflow">if</span> (<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#ea6eefa2a3b0315b12fbb5ab0532a849">iScaledBitMap</a>-&gt;Handle())<a name="l00144"></a>00144         {<a name="l00145"></a>00145         gc.BitBlt(TPoint(0,0), <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#ea6eefa2a3b0315b12fbb5ab0532a849">iScaledBitMap</a>);<a name="l00146"></a>00146 <a name="l00147"></a>00147         gc.SetPenStyle( CGraphicsContext::EDashedPen );<a name="l00148"></a>00148         gc.SetPenColor( <a class="code" href="class_c_ocr_example_image_container.html#59c39b7488b211d41b665791026c2f7f">iSettings</a>.<a class="code" href="class_t_ocr_example_settings_data.html#d02d1b08b8190ddcf1d9b65cdbc35ce8">GetHighlightColor</a>() );<a name="l00149"></a>00149         gc.SetBrushStyle( CGraphicsContext::ENullBrush );<a name="l00150"></a>00150 <a name="l00151"></a>00151         <span class="comment">// if crosshair activated, draw it</span><a name="l00152"></a>00152         <span class="keywordflow">if</span> (<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>)<a name="l00153"></a>00153             {<a name="l00154"></a>00154             TSize size = <a class="code" href="class_c_ocr_example_image_container.html#59c39b7488b211d41b665791026c2f7f">iSettings</a>.<a class="code" href="class_t_ocr_example_settings_data.html#eff7f252a7054320c6351387ebfe4a11">GetCrosshairSize</a>(<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#ea6eefa2a3b0315b12fbb5ab0532a849">iScaledBitMap</a>-&gt;SizeInPixels());<a name="l00155"></a>00155             <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>-&gt;SetSize(size);<a name="l00156"></a>00156             gc.DrawRect( *(<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>) );<a name="l00157"></a>00157             }<a name="l00158"></a>00158         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#95ab72856a165c79d387b1fe1060f649">iBlockInfo</a>)<a name="l00159"></a>00159             {<a name="l00160"></a>00160             <span class="comment">// if image layout has been analyzed, hightlight text-areas</span><a name="l00161"></a>00161             <span class="keywordflow">for</span> ( TInt i=0; i&lt;<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#4d5bc772261d36c752b058c133d81978">iBlockCount</a>; ++i)<a name="l00162"></a>00162                 {<a name="l00163"></a>00163                 <span class="comment">// Note! blockInfo contains rects from the original image.</span><a name="l00164"></a>00164                 <span class="comment">// adjust sizes and positions to fit the resized image on the</span><a name="l00165"></a>00165                 <span class="comment">// screen.</span><a name="l00166"></a>00166                 gc.DrawRect( <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#d8df217ecaec20976c2b240f971a5034">iRectScaler</a>.<a class="code" href="class_n_o_c_r_utils_1_1_t_rect_scaler.html#00f1dff0cfd2745ed8367c2cf0f44b9d">ScaleDown</a>(<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#95ab72856a165c79d387b1fe1060f649">iBlockInfo</a>[i].iRect) );<a name="l00167"></a>00167                 }<a name="l00168"></a>00168             }<a name="l00169"></a>00169         }<a name="l00170"></a>00170     }<a name="l00171"></a>00171 <a name="l00172"></a>00172 <a name="l00173"></a>00173 <span class="comment">// End of File</span></pre></div><hr><table x-use-null-cells		style="x-cell-content-align: top;				width: 100%;				border-spacing: 0px;				border-spacing: 0px;"		cellspacing=0		width=100%>  <col style="width: 50%;">  <col style="width: 50%;">  <tr style="x-cell-content-align: top;"	valign=top>  <td style="width: 50%;			padding-right: 10px;			padding-left: 10px;			border-right-style: None;			border-left-style: None;			border-top-style: None;			border-bottom-style: None;"	width=50%>  <p style="font-family: Arial;"><small style="font-size: smaller;">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -